dojo validationTextBox无效消息或提示消息未出现

时间:2013-08-23 12:58:35

标签: dojo

我一直试图从validationTextBox中显示一条无效的消息,告诉它有什么不起作用。 我复制粘贴从互联网上的例子,即使它不工作。

我正在使用dojo 1.8 下面是我的示例代码

必需属性突出显示文本框,但未显示消息     在此处输入代码     <%@ page language =“java”contentType =“text / html; charset = ISO-8859-1”         的pageEncoding = “ISO-8859-1” %>                         我的测试     

<link rel="stylesheet" type="text/css"
    href="../MyTest2/js/dojoRoot/dijit/themes/claro/claro.css">

<script type="text/javascript">
        dojo.require("dijit.form.ValidationTextBox");
        dojo.require("dijit.form.Form");
    </script>
</head>
<body class="claro">
    <form id="addForm" dojoType="dijit.form.Form" action="save" method="post">
        <table>
        <tr>
                <td>First Name</td>
        <td><input type="text" name="firstName" id="firstName"
            value="someTestString" required="true" dataType="dijit.form.ValidationTextBox"                  promptMessage="please enter first name"                     invalidMessage="first name is empty" /></td>
            </tr>
    </table>
    </form>

由于 莎丝

2 个答案:

答案 0 :(得分:0)

您已使用dataType属性。它是“dojoType”。 现在,“dojoType”已被替换为“data-dojo-type”。你把它误认为是dataType。 您可以使用“dojoType”或“data-dojo-type” 此外,使用missingMessage属性显示用户移出字段的消息,而不提供输入。 “required”与“missingMessage”一起使用 promptMessage用作工具提示。当用户专注于该字段时显示。 如果在将焦点移离字段时不满足任何提到的约束,则使用invalidMessage。让我举个小例子。

<html>
<head>
<style type='text/css'>
    @import "./js/dijit/themes/claro/claro.css";
</style>
<script type='text/javascript' src='./js/dojo/dojo.js' djConfig="parseOnLoad:true,isDebug:false">
</script>
<script type='text/javascript'>
    dojo.require("dijit.form.ValidationTextBox");
</script>
</head>
<body class="claro">
    <input type="text" dojoType="dijit.form.ValidationTextBox" id="namefld" name="namefld" required="true" missingMessage="Input is required for Name!" promptMessage="Pease enter you name!" regExp="[a-zA-Z]+" invalidMessage="Wrong input! Please correct!"/>
</body>
</html>

答案 1 :(得分:0)

我使用的是Dojo的另一个版本(1.9),但如果你的问题主要是装饰性的,那么有两点需要注意:

  1. 在用户实际点击它们或使用键盘对焦之前,某些表单元素不会显示任何红色错误标记。这在某些情况下是有意义的,例如侧栏中的可选登录表单。为避免这种情况,您可以执行data-dojo-props="required:true, _hasBeenBlurred:true"_hasBeenBlurred会使小部件假定用户之前已经与之进行过互动。
  2. 如果您尝试在文本输入字段中输入“提示”(例如“输入名称...”),则可能无法在某些版本的IE上使用,这些版本不支持HTML5 placeholder attribute。< / LI>