Валидация имени в JustValidate
Документацию читала, но никак не могу понять как написать правило для инпута имя, чтобы верным значением считались латинские и кирилические буквы, отсутствовали цифры и специальные символы. В случае ошибки появлялось сообщение "Недопустимый формат".
Разметка:
<form id="form" action="https://jsonplaceholder.typicode.com/posts" class="contacts__form">
<input name="Имя" type="text" placeholder="Имя*" data-validate-field="name"
class="contacts__form-input form-name" autocomplete="off" id="name">
<input name="tel" type="tel" class="contacts__form-input form-phone" placeholder="Телефон*"
data-validate-field="tel" data-validate-rules="phone" autocomplete="off" id="tel">
<button class="btn-reset contacts__form-btn" id="submit-btn">Заказать <span class="contacts__btn-span">обратный звонок</span></button>
</form>
В head подключаю:
Плагины: https://github.com/horprogs/Just-validate https://github.com/RobinHerbots/Inputmask
JS:
var selector = document.querySelector("input[type='tel']");
var im = new Inputmask("+7 (999)-999-99-99");
im.mask(selector);
const validation = new JustValidate('#form',
{
errorLabelStyle: {
color: '#D11616',
},
});
validation
.addField('#name', [
{
rule: 'minLength',
value: 2,
},
{
rule: 'maxLength',
value: 30,
},
{
rule: 'required',
errorMessage: 'Вы не ввели имя',
},
])
.addField('#tel', [
{
rule: 'required',
errorMessage: 'Вы не ввели телефон',
},
{
validator: (name, value) => {
let phone = selector.inputmask.unmaskedvalue()
return Number(phone) && phone.length === 10
},
errorMessage: 'Недостаточное количество знаков',
},
]);
Помогите, пожалуйста.
Ответы (1 шт):
Автор решения: Maximka Malmigin
→ Ссылка
Столкнулся с такой же проблемой, почитал api нашел единственный рабочий вариант:
const validator = new JustValidate('#form');
validator.addField('#regexp', [ {
rule: 'customRegexp',
value: /[a-z]/gi, }, ]);