在Kendo UI验证器中动态更改错误消息?

时间:2015-08-11 16:56:07

标签: kendo-ui kendo-validator

我认为我有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"); 

我如何根据文本字段错误消息动态更改这些值?

1 个答案:

答案 0 :(得分:4)

您可以为requiredemail创建<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

node-scrypt

这里在map(lambda datum: dict(zip(datum[::2], datum[1::2])), data) 函数中我根据输入名称定制了错误消息。

我提供了#34;用户名是必需的&#34;输入用户名。如果您愿意,甚至可以从数组中提供错误消息。