改进我的Dojo / Dijit NumberTextBox数值验证

时间:2009-10-07 19:34:02

标签: dojo

我有以下代码:

< input type =“text”dojoType =“dijit.form.NumberTextBox”size = 8         约束= “{分钟:0,最大值:100000,地方:0}”  id =“orgNumberOfStudents”name =“orgNumberOfStudents”         required =“true”invalidMessage =“0到100,000之间的整数”   值= “” >

问题:

1)如何设置盒子的宽度?我必须在样式标签或CSS中执行此操作吗?传统的“输入大小”标签是否被忽略?

2)上面的示例显示了输入非数字值时的错误。但是,如果我在场上进行选项并且没有填写任何内容,那么它仍然是空白的。单击提交按钮时是否有快速实施验证的方法?我需要Dijit提交按钮吗?我是否需要编写更多JavaScript来实现这一目标? required =“true”实际上是如何发生的?

(一个好处是将值设置为0,但我宁愿强制用户输入一个值而不是默认值)。

谢谢, 尼尔沃尔特斯

1 个答案:

答案 0 :(得分:3)

您应该能够在NumberTextBox上使用CSS和传统的INPUT属性,例如“maxLength”,方法是将它们传递给Widget的构造函数。 maxLength可用于所有dijit.form.TextBox子类,但由于您可以控制min / max和实际数字格式等内容,因此可能不太有用。

是的,在提交之前,您可以随时编写自己的JS来测试窗口小部件实例上的“isValid()”,例如:在HTML FORM onSubmit处理程序中,或者你可以使用dijit.form.Form来检查你的有效性。根据所选择的选项,小部件本身仅负责其自身有效性的可视化表示。

HTH