Validate-framework
Лёгкий и независимый компонент проверки JavaScript.
Demo: http://minjieliu.github.io/validate-framework/example
Установите через npm:
npm install validate-framework --save
<form name="basicForm">
<div class="form-group">
<label for="email">Email:</label>
<input class="form-control" id="email" name="email" type="email" placeholder="Введите email" />
</div>
<div class="form-group">
<label for="phone">Телефон:</label>
<input class="form-control" id="phone" name="phone" type="text" placeholder="Введите номер телефона" />
</div>
<input class="btn btn-primary" id="submit" type="submit" value="Отправить" />
</form>
import validateFramework from 'validate-framework';
const validator = new validateFramework({
formName: 'basicForm',
fields: {
email: {
rules: 'required | isEmail | maxLength(32)',
messages: "Нельзя оставлять пустым | Введите корректный email | Не более {{param}} символов"
},
phone: {
rules: 'isPhone',
messages: "Некорректный номер телефона: {{value}}"
}
},
callback: function (result, error) {
// Блокировка отправки формы
validator.preventSubmit();
// Выполняем дополнительные действия...
}
});
// Проверка
validator.validate();
new validateFramework(options)
options
(обязательно)
formName
(обязательно): атрибут name
или id
в <form>
.fields
(необязательно): набор правил и сообщений для проверки полей, можно добавлять и удалять методы с помощью .addMethods(methods)
и .removeMethods(...names)
.errorPlacement
(необязательно): расположение ошибок.callback
(необязательно): функция, которая вызывается после отправки формы или вызова .validate()
.classNames
(необязательно): классы для обозначения корректных и некорректных проверок.fields
:
fields: {
email: {
rules: 'required | isEmail | maxLength(32)',
messages: "нельзя оставлять пустым | введите корректный email | не более {{param}} символов"
},
phone: {
rules: 'isPhone',
сообщения: "некорректный номер телефона: {{value}"
}
}
Примечание: email
и phone
— это атрибуты name
.
rules
: одно или несколько правил, разделённых |
.
messages
: соответствующие сообщения об ошибках, разделенные |
, где {{value}}
— значение из поля, а {{param}}
— параметр для maxLength(32)
.
errorPlacement
:
errorPlacement: function (errorEl, fieldEl) {
// Если элемент не label или radio
if (fieldEl.parentNode !== undefined) {
fieldEl.parentNode.appendChild(errorEl);
}
},
Примечание: errorEl
— узел ошибки, fieldEl
— проверяемый элемент формы. После неудачной проверки к форме добавляется класс valid-error
, а к сообщению об ошибке — класс valid-error-message
.
callback
:
callback: function (result, error) {
// Пользовательская логика
if (errors) {
// Выполняем действия...
}
}
Примечание: result
— результат проверки, error
— массив ошибок при неудачной проверке.
.validate() ручная проверка
Возвращает логическое значение.
Примечание: по умолчанию используется кнопка отправки для перехвата проверки, но можно вызвать .validate()
вручную для проверки всех определённых элементов.
.validateByName(name) проверка одного поля по имени
Возвращает логическое значение.
.preventSubmit() блокировка отправки формы
.addMethods(methods) добавление пользовательских методов проверки
Например:
// Метод для проверки того, что выбрано как минимум две опции checkbox
validator.addMethods({
selectLimit: function (field, param) {
// Проверяем, выбрано ли как минимум две checkbox опции
var checkedNum = 0;
for (var i = 0, elLength = field.el.length; i < elLength; i++) {
if (field.el[i].checked) {
checkedNum += 1;
}
}
return checkedNum >= param;
},
});
.addFields(fields) динамическое добавление методов fields
С помощью .addFields(fields)
можно динамически добавить один или несколько методов проверки формы.
validator.addFields({
userName: {
rules: 'required | isRealName',
messages: "нельзя оставлять пустым | укажите реальное имя"
}
});
.removeFields(...names) удаление методов fields
// Удаление одного метода
validator.removeFields('userName');
// Удаление нескольких методов
validator.removeFields('userName', 'email');
Пример:
v.isEmail('example@qq.com');
v.isPhone('170111222231');
MIT
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )