假設我在flex中有一個電話號碼驗證器,並且我有兩個用於電話號碼的TextInput控件。我不希望定義兩個單獨的驗證器控件,它們具有基本相同的屬性......但每個驗證器只有一個「源」屬性。我如何在多個控件上使用相同的驗證器? (或任何等效的解決方案)在Flex中的幾個控件上使用相同的驗證器
2
A
回答
3
不是內聯的,但是您可以通過編程方式執行驗證,比如提交表單,或者當用戶跳出控件等時。以下是使用單個PhoneNumberValidator驗證的示例兩個表單域;驗證發生在提交按鈕被點擊時:
<mx:Script>
<![CDATA[
private function validatePhoneNumber(txt:TextInput):void
{
v.listener = txt;
v.validate(txt.text);
}
private function btn_click():void
{
validatePhoneNumber(p1);
validatePhoneNumber(p2);
}
]]>
</mx:Script>
<mx:PhoneNumberValidator id="v" allowedFormatChars="()- .+" property="text" requiredFieldError="Required." wrongLengthError="Invalid length." invalidCharError="Invalid character." />
<mx:Form>
<mx:FormItem label="Phone Number 1">
<mx:TextInput id="p1" />
</mx:FormItem>
<mx:FormItem label="Phone Number 2">
<mx:TextInput id="p2" />
</mx:FormItem>
<mx:FormItem>
<mx:Button id="btn" label="Submit" click="btn_click()" />
</mx:FormItem>
</mx:Form>
希望它有幫助!
1
重現步驟:
的TextInput動態
textInputBox = new MyTextInput; textInputBox.restrict = 「0-9.」; textInputBox.maxChars = 24; amountValidator = new NumberValidator(); amountValidator.source = textInputBox; amountValidator.property = 「text」; amountValidator.allowNegative = false; amountValidator.domain = 「real」; amountValidator.precision = 4; amountValidator.required = false; amountValidator.maxValue = 999999999999.9999; amountValidator.trigger = textInputBox; amountValidator.triggerEvent = Event.CHANGE; amountValidator.addEventListener(ValidationResultEvent.VALID, amountValid); amountValidator.addEventListener(ValidationResultEvent.INVALID, amountInvalid); private function amountValid(event:ValidationResultEvent):void { valid = true; fieldsValidated = true; } private function amountInvalid(event:ValidationResultEvent):void { valid = false; fieldsValidated = true; }
- 創建作爲創建提到,當我們超越了極限,它會顯示錯誤我的紅色邊框,和相同的如果您在達到給定的可接受限制時使用DEL鍵刪除它們,則會自動變爲綠色。
- 離開現場並更改另一個文本輸入的值(這只是一個文本輸入,這是一個表單,它有更多的表單元素),然後通過SHIFT + TABS返回值超出的文本字段,並刪除附加輸入的數字,當你很快來到綠色你的價值被接受。
- 現在再次輸入更多值,現在您處於警告區域,然後離開現場並對其他表單元素進行少量更改。
- 然後回到超過MOUSE CLICK提交的文本值,並開始從DEL刪除,即使您刪除了其他值,仍然字段顯示您處於警告區域。
實際結果: 即使刪除其他號碼,還是場紅
預期結果: 如果刪除其它號碼,現場應該來其正常狀態。
此問題的圖片可查看View Screen Shot
相關問題
- 1. 使用相同的角度控制器在同一頁上的幾個地方
- 2. 驗證幾個字段具有相同名稱的使用jQuery驗證
- 3. 如何對多個webform控件使用相同的驗證控件
- 4. 在Rails的相同控制器中驗證兩個不同的設計類
- 5. 如何在rails上的ruby中的幾個控制器中使用在模型中設置的驗證規則?
- 6. 如何在兩個不同的模型中使用相同的驗證器
- 7. 使用驗證器控件驗證asp.net中的日期字段
- 8. 在多個控件上使用ASP.NET驗證器
- 9. NSToolbarItem驗證在相關的控制器
- 10. 在不同的條件塊/驗證器中使用重複的asp.net控件ID
- 11. 使用驗證 - Flex的
- 12. 如何在幾個TextBlock控件上使用相同的樣式,但是每個控件都使用不同的綁定和觸發器?
- 13. 使用.net驗證控件時的樣式驗證控件
- 14. jQuery驗證插件:相同的形式,不同的驗證submitHandler
- 15. 使用ngResource在幾個控制器之間共享相同的數據
- 16. angular2驗證:在控件上找到當前驗證器
- 17. MEF - 使用相同的插件幾次
- 18. 在Winform中驗證控件(使用Devexpress)
- 19. Jquery.validate.js驗證 - 使用2個遙控器?
- 20. 來自不同驗證組的控件調用驗證
- 21. Flex 3:相同標籤/控件中的不同文本樣式
- 22. 在ASP.NET用戶控件中的驗證
- 23. 如何驗證兩個控件使用一個驗證
- 24. 同時驗證C#窗體上的幾個文本框
- 25. 在Rails中的幾個屬性的自定義驗證器
- 26. 如何在不同的控制器中調用模型驗證?
- 27. Zend Framework 2:相同的驗證器
- 28. c#在同一字段上使用兩個驗證器
- 29. 使用驗證控件對日期進行驗證?在Asp.net中?
- 30. 使用jQuery驗證插件顯示多個控件的單個驗證消息