我是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。另外,我希望出现错误时出现红色边框。 我在做什么错了?
答案 0 :(得分:0)
要摆脱错误的invalidMessage,请添加一个技巧:data-dojo-props的空invalidMessage属性。像这样:
<textarea ... data-dojo-props="...,invalidMessage:''"value=""></textarea>
要使validatorTextarea小部件的内容正确验证,以便在添加带有换行符的内容时没有红色边框,请在自定义ValidatorTextarea小部件中使用验证器。像他一样:
validator: function(value) {
return value && value.length > 0
}
有人吗!