0

検証したいモバイル(iOSおよびAndroid)アプリに複数の入力フィールドがあります。

数字だけが欲しいものもあれば、特殊文字を含めることができないものもあり、doubleである必要があるものもあります。

これを処理してエラーメッセージを管理できるクラスを知っている人はいますか?

乾杯

4

2 に答える 2

0

TextInputクラスのrestrictプロパティで行うことができます。

<s:TextInput id="txtOnlyNumbers" restrict="[0-9]" maxChars="9" /> here no error message will come we are preventing from user typ

(また)

           var regOnlyNumbers:RegExp = /[0-9]/g;
            var numbers:String = "12345";
            Alert.show("Is Contains only Numbers " + regOnlyNumbers.test(numbers));

            var regIsSpecialChars:RegExp = /\W/g;
            var special:String = "12345";
            Alert.show("Is Contains special char " +regIsSpecialChars.test(special));

            var regIsSpecialChars:RegExp = /\W/g;
            var special:String = "123@45";
            Alert.show("Is Contains special char " +regIsSpecialChars.test(special));

次のようなSetTextInputerrorStringプロパティ

txtUserName.errorString = "It Contains interger";

textinputビジュアルオブジェクトの周囲に赤い境界線が表示され、textinputの上にマウスを置くとshowが表示されます。

好きですか

var regIsSpecialChars:RegExp = /\W/g;
if(regIsSpecialChars.test(txtUserName.text))
{
  txtUserName.errorString = "User Name having some special character(s)";
}
于 2012-12-12T06:27:09.263 に答える
0

別のアプローチ必要に応じて変更してください

package
{
import mx.collections.ArrayCollection;
import mx.utils.StringUtil;
import mx.validators.StringValidator;

public class CommonValidator
{       

    public function CommonValidator()
    {

    }

    public static function accountNumberValidator(src:Object):Boolean
    {
        var regOnlyNumbers:RegExp = /[0-9]/g;
        var numbers:String = src.text;

       if(!regOnlyNumbers.test(numbers))
       {
         src.errorString = "It only allow numbers";     
       }

       return StringUtil.trim(src.errorString).length == 0;
    }

    public static function passwordValidator(src:Object):Boolean
    {
        var regIsSpecialChars:RegExp = /\W/g;
        var special:String = src.text;

        if(regIsSpecialChars.test(special))
        {
            src.errorString = "It contains special chars";              
        }

        return StringUtil.trim(src.errorString).length == 0;
    }

    public static function validateAll_ArrCollection(validationArr:ArrayCollection):Boolean
    {
        var arrFailure:Array = [];
        var isValid:Boolean = false;            

        for(var iIndex:int = 0;iIndex < validationArr.length;iIndex++)      
        {
            isValid = CommonValidator[validationArr.getItemAt(iIndex).methodName](validationArr.getItemAt(iIndex).srcObject);   

            if(isValid == false)
                arrFailure.push(isValid);
        }       

        return arrFailure.length == 0;

    }
}

}

使用法

    var arrColl:ArrayCollection = new ArrayCollection();
    arrColl.addItem({methodName:"accountNumberValidator", srcObject:txtUserName});
    arrColl.addItem({methodName:"passwordValidator", srcObject:txtPassword});
    if(CommonValidator.validateAll_ArrCollection(arrColl))
{
trace("All fields are valid");
}
else {
trace("Fields are invalid");}
于 2012-12-12T08:13:06.183 に答える