代码之家  ›  专栏  ›  技术社区  ›  NealWalters

优化我的Dojo/Dijit数字文本框数字验证

  •  0
  • NealWalters  · 技术社区  · 16 年前

    我有以下代码:

    <input type=“text”dojotype=“dijit.form.numberTextBox”大小=8 constraints=“最小值:0,最大值:100000,位置:0” id=“OrgNumberOfStudents”name=“OrgNumberOfStudents” required=“true”invalidMessage=“0到100000之间的整数” 值=“”& gt;

    问题:

    1)如何设置框的宽度?我需要在样式标签或CSS中做吗?是否忽略传统的“输入大小”标记?

    2)上面的示例显示输入非数字值时的错误。但如果我在字段上加制表符而不填充任何内容,它仍然是空白的。当我单击提交按钮时,是否有一种快速的方法来强制验证?我需要一个dijit submitt按钮吗?我需要写更多的javascript来实现这一点吗?required=“true”实际是如何发生的?

    (解决方法之一是将值设置为0,但我宁可强制用户输入值,也不只是默认值)。

    谢谢, 尼尔沃尔特斯

    1 回复  |  直到 16 年前
        1
  •  3
  •   peller    16 年前

    通过将CSS和传统的输入属性(如“maxlength”)传递给小部件的构造函数,您应该能够在数字文本框上同时使用它们。maxlength在所有dijit.form.textbox子类中都可用,但在这里可能不太有用,因为您可以控制诸如min/max和实际数字格式之类的内容。

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

    高温高压