亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex驗證控件如何使用

發布時間:2021-07-14 13:47:11 來源:億速云 閱讀:142 作者:Leah 欄目:編程語言

Flex驗證控件如何使用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.驗證必填項

代碼如下:

<mx:Validatoridmx:Validatorid="nameV"source="{nameTI}"property="text"requiredFieldError="必須輸入用戶名!"/> <mx:FormItemlabelmx:FormItemlabel="用戶名:"> <mx:TextInputidmx:TextInputid="nameTI"/> </mx:FormItem> <mx:Buttonidmx:Buttonid="btn"label="提交"/>

Validator組件的功能是檢測必填項。我們把要檢測的組件的名字寫在source屬性中,把要檢測的組件的屬性寫在property屬性中,然后自定義requiredFieldError屬性的值即可。當然requiredFieldError屬性的值也可以不定義,那么就會使用默認的提示文字。

上面的錯誤提示的文字有些看不清,只需要加上這樣一句就OK了:

<mx:Style> .errorTip  {  fontSize:12;  }  </mx:Style>

2.控制Flex驗證控件檢測時機

默認的情況下,Flex當我們切換組件焦點的時候檢測
任意動作觸發驗證有兩種寫法。一種是在驗證組件中指明觸發器和觸發動作。另一種是執行事件處理函數。
在驗證組件中指明觸發器和觸發動作的語法如下所示。

<mx:驗證組件類型  source="{輸入源id}" property="輸入源的屬性" trigger="{觸發器}" triggerEvent="觸發事件">

下面這個例子為按Tab鍵切換焦點已經不能觸發檢測動作了,只有單擊“提交”按鈕才會觸發檢測。

<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="vertical"fontSize="12"width="300"height="150"> <mx:Validatoridmx:Validatorid="nameV"source="{nameTI}"property="text" requiredFieldError="必須輸入姓名!" trigger="{btn}"triggerEvent="click"/> <mx:Validatoridmx:Validatorid="ageV"source="{ageTI}"property="text" requiredFieldError="必須輸入年齡!" trigger="{btn}"triggerEvent="click"/> <mx:FormItemlabelmx:FormItemlabel="姓名:"> <mx:TextInputidmx:TextInputid="nameTI"/> </mx:FormItem> <mx:FormItemlabelmx:FormItemlabel="年齡:"> <mx:TextInputidmx:TextInputid="ageTI"/> </mx:FormItem> <mx:Buttonidmx:Buttonid="btn"label="提交"/> </mx:Application>

在默認情況下,Validator會在Flex發出valueCommit事件的時候進行檢測,因此當焦點改變的時候,會自動進行檢測。而上面的源碼中,則手動指定了進行檢測的事件是btn按鈕的click事件。

任意動作的觸發也可采用代碼觸發驗證方式。
其語法如下所示。
<組件事件="驗證組件.validate();"/>
驗證組件都包含一個validate方法,用以代碼執行驗證。
比如:
<mx:Buttonid="btn"label="提交"click="nameV.validate();"/>

3.Flex驗證控件驗證失敗處理

驗證失敗時需要做錯誤的提示及處理。驗證組件中提供了豐富的錯誤類型,只是這些錯誤類型的提示是英文的,用戶可能需要改變提示。修改錯誤提示的方法是修改組件中相應的錯誤類型屬性。例PhoneNumberValidator組件中的wrongLengthError屬性表示長度錯誤提示。
用戶可根據需要修改相應的出錯信息。其語法如下所示。
<驗證組件錯誤類型屬性="自定義錯誤提示"/>

例:

//引用ValidationResultEvent類  importmx.events.ValidationResultEvent;  privatefunctioncheckHandle():void//驗證處理函數  {  if(emailV.validate().type==ValidationResultEvent.VALID)  {  Alert.show("電子郵件驗證成功");//提示"驗證成功"  }  }   <!--按鈕組件,用于驗證處理--> <mx:Buttonidmx:Buttonid="mySubmit"label="驗證"click="checkHandle();"/>

注:
If(驗證組件id.validate().type==ValidationResultEvent.VALID)
ValidationResultEvent類包含于“mx.events.*”中,是驗證結果事件類。其中,INVALID值表示驗證失敗,VALID值表示驗證成功。

Validator還有一個listen屬性,它用來指定檢測的錯誤信息顯示在哪個組件上。例:

<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="vertical"fontSize="12"width="300"height="200"> <mx:Validatoridmx:Validatorid="nameV"source="{nameTI}"property="text" requiredFieldError="必須輸入姓名!" trigger="{btn}"triggerEvent="click"/> <mx:Validatoridmx:Validatorid="ageV"source="{ageTI}"property="text" requiredFieldError="必須輸入年齡!" trigger="{btn}"triggerEvent="click"/> <mx:Validatoridmx:Validatorid="sexV"source="{sexRBG}"property="selectedValue" requiredFieldError="必須選擇性別!" trigger="{btn}"triggerEvent="click"  listener="{maleRB}"/> <mx:FormItemlabelmx:FormItemlabel="姓名:"width="150"> <mx:TextInputidmx:TextInputid="nameTI"/> </mx:FormItem> <mx:FormItemlabelmx:FormItemlabel="年齡:"width="150"> <mx:TextInputidmx:TextInputid="ageTI"/> </mx:FormItem> <mx:FormItemlabelmx:FormItemlabel="性別:"direction="horizontal"width="150"> <mx:RadioButtonGroupidmx:RadioButtonGroupid="sexRBG"/> <mx:RadioButtonidmx:RadioButtonid="maleRB"groupName="sexRBG"label="男"value="1"/> <mx:RadioButtonidmx:RadioButtonid="femaleRB"groupName="sexRBG"label="女"value="0"/> </mx:FormItem> <mx:Buttonidmx:Buttonid="btn"label="提交"/> </mx:Application>

對于性別的選擇,由于檢測兩個RadioButton比較麻煩,采用了檢測RadioButtonGroup的selectedValue屬性的方法,如果這個屬性為空,就說明兩個RadioButton都沒有選擇。但RadioButtonGroup并不是一個可視組件,檢測的錯誤信息無法顯示出來,所以這里就使用了listen屬性將顯示信息轉到maleRB組件上進行顯示了。

4.批量Flex驗證控件驗證

創建一個表單

<mx:Form> <mx:FormItemlabelmx:FormItemlabel="當前部門:"> <mx:Textidmx:Textid="txtDepartName"width="100"/> </mx:FormItem>  <mx:FormItemlabelmx:FormItemlabel="*新建角色名稱(至多10個漢字):"> <mx:TextInputidmx:TextInputid="roleName"width="100%"/> </mx:FormItem>  <mx:FormItemlabelmx:FormItemlabel="*新建角色名稱(至多10個英文字母):"> <mx:TextInputidmx:TextInputid="roleEnName"width="100%"/> </mx:FormItem>  <mx:FormItemlabelmx:FormItemlabel="角色描述(至多50個漢字):"> <mx:TextInputidmx:TextInputid="roleDescibe"width="100%"/> </mx:FormItem>  <mx:ControlBar> <mx:Buttonidmx:Buttonid="btnSubmit"label="提交"click="btnSubmit_click()"/> <mx:Buttonidmx:Buttonid="btnClose"label="關閉"click="btnClose_click()"/> </mx:ControlBar>

創建Flex驗證控件,放在數組里

<fx:Arrayidfx:Arrayid="roleNameValidators"> <mx:Validatoridmx:Validatorid="roleNameValidator" source="{roleName}"property="text"  required="true"requiredFieldError="請輸入角色名"/> </fx:Array>

通過數組,創建組合驗證

<fx:Arrayidfx:Arrayid="roleEnNameValidators"> <mx:StringValidatorsourcemx:StringValidatorsource="{roleEnName}"property="text"  tooShortError="字符串太短了,請輸入最少1個字符." tooLongError="字符串太長了,請輸入最長10個字符." minLength="1"maxLength="10"/> <mx:RegExpValidatoridmx:RegExpValidatorid="roleEnNameValidator" source="{roleEnName}"property="text"  flags="g,i"expression="^[a-z]+$"  noMatchError="請輸入正確的英文字母" required="false"/> </fx:Array> </fx:Declarations>

//代碼

privatefunctionbtnSubmit_click():void{  //分別檢測驗證是否通過,如果沒有通過,則通過派發事件,主動顯示錯誤提示  if(Validator.validateAll(roleEnNameValidators).length!=0)  roleEnName.dispatchEvent(newMouseEvent(MouseEvent.MOUSE_OVER));  elseif(Validator.validateAll(roleNameValidators).length!=0)  roleName.dispatchEvent(newMouseEvent(MouseEvent.MOUSE_OVER));  else  {  varpar:powerModule=this.owneraspowerModule;  par.roleList.addItem({label:"大三輔導員",data:"3"});   varmodel:RoleModel=newRoleModel();  model.roleName="大三輔導員";  model.roleEnName="daisan";  model.roleID=par.personVo.departID+"."+model.roleEnName;   model.ysxh="010200";  model.roleDescribe="測試用的";  AddRoleResult.token=roleService.add(model);  }   }

看完上述內容,你們掌握Flex驗證控件如何使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿巴嘎旗| 嘉禾县| 教育| 延川县| 乌鲁木齐市| 兴安盟| 石狮市| 仪陇县| 临湘市| 开化县| 霸州市| 敖汉旗| 延津县| 包头市| 偃师市| 中西区| 濮阳县| 宜宾市| 都兰县| 武城县| 平度市| 岑巩县| 大城县| 龙江县| 乐安县| 石首市| 凤冈县| 莱西市| 丰县| 长丰县| 武平县| 聊城市| 新余市| 英山县| 偃师市| 巢湖市| 肃南| 公主岭市| 阿拉善左旗| 通州区| 靖远县|