Dojo ValidationTextBox在Enter上显示missingMessage

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dojo ValidationTextBox在Enter上显示missingMessage相关的知识,希望对你有一定的参考价值。

我是Dojo的新手所以请耐心等待。我创建了一个继承自ValidationTextBox和SimpleTextarea的小部件:

define([
    'dojo/_base/declare',
    'dijit/form/ValidationTextBox',
    'dijit/form/SimpleTextarea'
    ],
    function (declare, ValidationTextBox, SimpleTextarea) {
        return declare([
            ValidationTextBox,
            SimpleTextarea
        ], {
        });
    }
);

我在这样的html页面中使用它:

                    <textarea   class="dijitTextBox dijitTextArea dijitTextBoxHover dijitTextAreaHover dijitHover"
                                data-dojo-attach-point="dutyReasonTextarea"
                                data-dojo-type="aysist/widgets/common/ValidationTextArea"
                                data-dojo-props="placeholder: '${nls.employee.agenda.duty_hour_reason}',required: true, missingMessage:'missingMessage: ${nls.employee.agenda.missing_duty_reason_error}', invalidMessage:'The value is not valid'"
                                value=""></textarea>

当我输入文本框时,不会弹出任何错误消息。但是只要输入Enter,我就会得到invalidMessage。此外,我希望出现错误时出现红色边框。我究竟做错了什么?

invalidMessage displayed after typing Enter

答案

要摆脱错误的invalidMessage,添加一个hack:一个空的invalidMessage属性到data-dojo-props。像这样:

<textarea ... data-dojo-props="...,invalidMessage:''"value=""></textarea>

要使validatorTextarea小部件的内容正确验证,以便在使用换行符添加内容时没有红色边框,请在自定义ValidatorTextarea小部件中使用验证器。喜欢他的:

validator: function(value) {
    return value && value.length > 0
}

有人!

以上是关于Dojo ValidationTextBox在Enter上显示missingMessage的主要内容,如果未能解决你的问题,请参考以下文章

dojo学习入门

dojo - 显示无效消息的编程方式

dojo 表单验证清除

如何使用 Dojo 提交带有 dijit.form.Form 的帖子数据?

Dojo Validation TextArea 小部件在无效时如何突出显示?

基本HTML Dojo页面启动