2011-09-04 3 views
1

Вот ссылка на JQuery проверки рядных форм, что я пытаюсь использовать http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/вопрос о JQuery рядной формы проверке

Все выглядит хорошо, но у меня есть небольшая проблема

У меня есть вход, где я используйте этот вид проверки

'validate[length[6,15]]' 

это проверяет, является ли количество длины входного значения и если оно меньше, чем 6 или терка затем 15 дает и ошибки.

Теперь я хочу добавить туда шанс ввода, чтобы иметь значение length = 0, поэтому проверка не приведет к возникновению какого-либо сообщения об ошибке.

Возможно ли это?

UPDATE

Это представить функция блокировки

<script type='text/javascript'> 
    $(document).ready(function() { 
$('#standart_form').validationEngine(); 
$('#standart_form').submit(function() { 
    return false; 
}); 
}); 
    </script> 

Теперь, когда я использовал это 'validate[length[6,15]]' все работало хорошо. Но если я попытаюсь использовать новые пользовательские функции, все формы представят себя, разрушая мое приложение на основе ajax.

ответ

1

Плагин, который вы используете, не поддерживает это из коробки, но его функции настройки позволяют реализовать это поведение самостоятельно.

Например, вы можете указать регулярное выражение, которое будет использоваться при проверке поля. Вам нужно, чтобы добавить его в свой файл перевода:

"emptyOrLengthBetween6And15": { 
    "regex": /^$|^.{6,15}$/, 
    "alertText": "* Empty, or between 6 and 15 characters long" 
}, 

Тогда вы можете обратиться к нему в custom валидатора:

class="validate[custom[emptyOrLengthBetween6And15]]" 

Вы также можете написать свою собственную функцию проверки:

function checkEmptyOrLengthBetween6And15(field, rules, i, options) 
{ 
    var val = field.val(); 
    if (val.length > 0 && (val.length < 6 || val.length > 15)) { 
     return "* Empty, or between 6 and 15 characters long"; 
    } 
} 

Тогда используйте это в funcCall:

class="validate[funcCall[checkEmptyOrLengthBetween6And15]]" 
+0

Большое спасибо! Я попытаюсь сделать обычное регулярное выражение – David

+0

еще один вопрос, я использую его в форме, которая вызывается ajax и отправляется ajax. У меня также есть функция javascript, которая запрещает php to php отправлять форму при нажатии кнопки отправки. И когда я использую стандартные функции проверки, все работает. Но когда я использую ваш обычай, он работает, но также отправляет форму через php. Вы знаете, как предотвратить автоматическую отправку пользовательских функций? – David

+0

@ Давид, извините, мой плохой, функция должна вернуть сообщение об ошибке, а не логическое значение. Соответственно обновляется ответ. –

Смежные вопросы