是的,您是正確的 - 您可以通過調用dijit.form.Form
元素上的validate()
函數來獲得所有驗證,突出顯示,甚至專注於第一個無效字段。
下面是其中的validate()調用添加到onSubmit事件爲例:
<head>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("dojo.form.Form");
dojo.require("dojo.form.ValidationTextBox");
dojo.require("dojo.form.Button");
// more includes here...
</script>
</head>
<body>
<form dojoType="dijit.form.Form" action="..." method="...">
<input dojoType="dijit.form.ValidationTextBox" trim="true" regExp="..." invalidMessage="Oops...">
<!-- // more form elemts here... -->
<button type="submit" dojoType="dijit.form.Button" ...>
Submit
</button>
<script type="dojo/method" event="onSubmit">
if (!this.validate()) {
alert("Form contains invalid data. Please correct....");
return false;
}
return true;
<script>
</form>
</body>
希望,你會發現它有幫助。
乾杯。
後續: 下面是一個可以用來幫助提示用戶爲預計什麼樣的數據的輸入字段的示例,並在驗證失敗時會提醒他們:
<input type="text" id="EXT" name="EXT" value=""
maxLength="10"
dojoType="dijit.form.ValidationTextBox"
regExp="\d+?"
trim="true"
promptMessage="<p class='help'>Please your extension. (i.e. "1234")</p>"
invalidMessage="<p class='help'>The extension field should contain only numbers.</p>">
這是一個聲明式示例。 (我在下面的初始響應中拼錯了它。)
如何輕鬆分辨哪些表單元素無效,以便我可以告訴用戶他們必須修復哪些內容? – Jords 2010-10-01 02:36:54
@Jords這種類型的實現會自動突出顯示所有無效字段,甚至將焦點設置爲第一個不正確的字段。例如,如果您有電話擴展字段,則可以使用regExp =「\ d +?」 ValidationTextBox中的屬性,以及一個invalidMessage =「擴展字段應該只包含數字。」屬性會在錯誤情況下顯示。因此,基本上,您可以裝飾性地定義驗證條件以及用戶消息和/或提示消息。 – 2010-10-01 02:54:01
@Jords我在上面的答案中添加了一個示例。請注意,您可以在「提示」和「無效」消息中使用HTML標記,以使事物看起來不錯。希望有所幫助。 – 2010-10-01 03:06:42