Динамически изменять сообщения об ошибках в Kendo UI validator?
Думаю у меня есть 2 текстовых поля. Могу ли я изменить там сообщения об ошибках в соответствии с текстовыми полями.
Вот пример.
1-е текстовое поле является полем электронной почты, и это обязательное поле. Поэтому я сохраняю сообщения об ошибках в массиве:
["this field is required", "enter a valid e mail"]
2 текстовое поле обязательно для заполнения. Его сообщение об ошибке:
["enter a valid value in the field"]
но в кендо UI валидатор, как это...
var validator = $("#formID").kendoValidator(
{ messages : {
required : "this field is required",
email : "enter a valid email address"
}
}).data("kendoValidator");
Как я изменяю эти значения динамически в соответствии с сообщениями об ошибках текстовых полей??
1 ответ
Вы можете создать function
для обоих required
а также email
настроить сообщения об ошибках в соответствии с полями ввода HTML.
<form id="myform">
<input name="username" required /> <br />
<input type="email" name="userEmail" required data-message="My custom email message" /> <br />
<button>Validate</button>
</form>
Сценарий раздела:
<script>
$("#myform").kendoValidator({
messages: {
// defines a message for the 'custom' validation rule
custom: "Please enter valid value for my custom rule",
// overrides the built-in message for the required rule
required: function(input) {
return getRequiredMessage(input);
},
// overrides the built-in message for the email rule
// with a custom function that returns the actual message
email: function(input) {
return getMessage(input);
}
},
rules: {
custom: function(input) {
if (input.is("[name=username]")) {
return input.val() === "Tom";
}
return true;
}
}
});
function getMessage(input) {
return input.data("message");
}
function getRequiredMessage(input) {
if (input.is("[name=username]")) {
return "User name is required";
}
else
return input.attr("name") + " Field is Required";
}
</script>
Здесь в getRequiredMessage
Функция я настроил сообщение об ошибке на основе имени входа.
Я указал "Имя пользователя обязательно" для ввода имени пользователя. Вы можете предоставить сообщение об ошибке даже из массива, если хотите.