Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Validation framework


Автор: gelo86 5.3.2008, 22:34
mozet kto znajet xorosij framework dlya validaciji?
Mne interesny takije sluciji:
1. proverka polya na celoje cilso
2. proverka polya na realnoje cilso
3. proverka polya na cilso ot x do y.
...

Toze priemusestwo jesli asibki mozna wywodit w raznyx jazykax, na forme razmesat gde xocis (a ne w konkretnom meste).

Spasibo.

Автор: Sardar 5.3.2008, 23:23
Вряд ли, т.к. делается это в пару строк.  На .onblur ставим

Код
function ckeckInteger(e) { //используй как input.onblur = ckeckInteger; или в самом теге onblur="checkInteger(event)"
    var inp = (e.srcElement || e.target); //при первом варианте это можно заменить на this
    var ret = /^\s*([0-9]+)\s*$/.exec( inp.value ); //проверка регом
    if(ret == null) { // если не прошли
        inp.className = "error"; //в .error прописываем border: 2px solid red и прочие фишки для выделения ошибки
        //return false; //раскоментируй если хочешь пробежаться по множеству элементов с AND композицией
    }
    inp.value = ret[1];
    //return true;
}

function ckeckReal(e) {
    var inp = (e.srcElement || e.target);
    var ret = /^\s*((?:[0-9]+)?(?:\.(?:[0-9]+)?)?(?:[eE][+\-]?[0-9]+)?)\s*$/.exec( inp.value );
    if(ret == null || ret[1].substr(0, 2).toLowerCase() == '.e') {
        inp.className = "error";
        //return false;
    }
    inp.value = ret[1];
    //return true;
}


Проверку на вхождение  (a <= x <= b) попробуй написать сам. parseInt() и parseFloat() читают строку в число.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)