-1

angular js ドロップダウン検証を行っていますが、ドロップダウン検証を行うときに問題が発生します。

このウェブサイトからすべてを取得し、このコードを使用しています: https://github.com/turinggroup/angular-validator

デモ

しかし、上記のリンクでは、Dropdwon コントロールで検証を行うことに勝るものはありません。したがって、誰かがドロップダウン検証を行うためにこの同じコードを使用し、成功した場合は、私を案内してください。

これは、ドロップダウンを含む私が作成したプランカーです:

MyDropdownControlFullDemo

そして、これは私のドロップダウンコードです:

     <select class="form-control m-b-sm" required ng-model="form.Obj" ng-options="c.Name for c in Obj track by c.Id">
                 </select>

 $scope.Obj = [
    {Id : '0', Name : 'Select' }, 
        {Id : '1', Name : 'USA' },       
        {Id : '2', Name : 'Canada' },
        {Id : '3', Name : 'Russia' } ];

}

  $scope.Obj = { Id: '0', name: 'Select' };

ユーザーがドロップダウンからオプションを選択しない場合、テキストボックスコントロールの検証が表示されるのと同じように検証が表示される必要があります。

4

1 に答える 1

1

次のようにコードを変更する必要があります-

選択リストのHTMLで-

    <select class="form-control m-b-sm" name="selectbox"  required-message="'Yo! This field is required..'"
                            required ng-model="form.Obj" ng-options="c.Name for c in Objlist track by c.Id">
                  <option value="">Select</option>
</select>

そしてコントローラーは次のようになります-

 angular.module('angular-validator-demo').controller('DemoCtrl',function($scope){

 $scope.Objlist = [
    {Id : '0', Name : 'Select' }, 
        {Id : '1', Name : 'USA' },       
        {Id : '2', Name : 'Canada' },
        {Id : '3', Name : 'Russia' } ];



  $scope.Obj = { Id: '0', name: 'Select' };

    $scope.submitMyForm = function(){
        alert("Form submitted");
    };

    $scope.myCustomValidator = function(text){      
        return true;
    };


    $scope.anotherCustomValidator = function(text){
        if(text === "rainbow"){
            return true;
        }
        else return "type in 'rainbow'";
    };

    $scope.passwordValidator = function(password) {

        if(!password){return;}

        if (password.length < 6) {
            return "Password must be at least " + 6 + " characters long";
        }

        if (!password.match(/[A-Z]/)) {
             return "Password must have at least one capital letter";
        }

        if (!password.match(/[0-9]/)) {
             return "Password must have at least one number";
        }

        return true;
    };



});
于 2016-03-29T12:38:15.887 に答える