[英]How do I highlight all invalid dijit.form.ValidationTextBoxes on a dijit.form.Form?
我所追求的是一個表單,在提交時,運行驗證檢查,並突出顯示所有無效字段並添加工具提示。
我正在尋找像這樣的東西:
dojo.forEach(dijit.byId('myForm')._invalidWidgets, function (thisWidget,index,array) {
thisWidget.displayMessage("normal invalid/empty message should go here, seems I should be calling something higher level than this");
});
但是我不想深入挖掘,我想要做的就是觸發當你從一個空的必填字段(感嘆號圖標和相應的無效/空消息)中跳出時觸發的同類事物。 也許我應該嘗試解雇標簽事件?
有人能指出我正確的方向嗎?
是的,你是對的 - 你可以通過調用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>">
這是一個聲明性的例子。 (我在下面的初步回復中拼錯了。)
在irc.freenode.net的#dojo中的jthomas_回答了我的問題。 事實證明,我想使用dijit.byId('myForm').validate()
可以一舉完成我想要的一切。 謝謝,jthomas_!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.