我想执行一些客户端表单验证,我正在考虑使用 Dojo 来完成它。
我希望用户能够在文本框中插入他想要的内容,但是当他点击提交时,表单会被验证。如果一个字段无效,我想在文本框周围显示一个红色边框,并在右侧显示一条消息,也是红色的。
如果用户点击错误的文本框(onfocus),错误消息就会消失。如果他单击错误消息,则文本框将获得焦点并且错误消息会消失。再次,他可以插入任何他想要的直到验证。
据我了解,Dojo 有一些默认行为,如果无效,工具提示和文本框会变为黄色(参见下面的示例)。
是否可以使用 Dojo 做我想做的事情,或者我应该滚动自己的实现进行验证(我的意思是更容易:写一些我理解的东西,可以控制或使用一些未知的工具包)?
如果可能,我该怎么做或在哪里可以找到相关信息?
谢谢!
<html>
<head>
<link rel="stylesheet" type="text/css" href="dijit/themes/tundra/tundra.css">
<script type="text/javascript" src="dojo/dojo.js" djConfig="parseOnLoad: true"></script>
<script type="text/javascript">
dojo.require("dijit.form.Form");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.form.DateTextBox");
</script>
</head>
<body class="tundra">
<table style="border: 1px solid black;">
<tr>
<td>Name:</td>
<td>
<input type="text" id="name" name="name" required="true" dojoType="dijit.form.ValidationTextBox" />
</td>
</tr>
<tr>
<td>Date of birth:</td>
<td>
<input type="text" id="dob" name="dob" dojoType="dijit.form.DateTextBox" />
</td>
</tr>
</table>
<input type="button" name="submitButton" value="Submit" />
</body>
</html>