我认为我有2个文本字段。我可以根据文本字段更改错误消息。
这是一个例子。
第一个文本框是一个电子邮件字段,它是必填字段。 所以我在数组中保留了一条错误消息:
["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");
我如何根据文本字段错误消息动态更改这些值?
答案 0 :(得分:4)
您可以为required
和email
创建<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>
,以根据html输入字段自定义错误消息。
<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
这里在map(lambda datum: dict(zip(datum[::2], datum[1::2])), data)
函数中我根据输入名称定制了错误消息。
我提供了#34;用户名是必需的&#34;输入用户名。如果您愿意,甚至可以从数组中提供错误消息。