yii2.0-rules 검증 규칙 응용 실례

16931 단어
Rules 검증 규칙:
required: 속성 | | CrequiredValidator의 별명을 검증해야 합니다. 기능이 비어 있지 않습니다.
[[' 1',' 2'],required]    // 1 2  

[[' '],required,'requiredValue'=>' ','message'=>' '];

이메일: 메일박스 검증 | | | CEmailValidator의 별명으로 특성의 값이 유효한 전자 우편 주소임을 확보합니다.
['email', 'email'];

match: 정규 검증 | | Cregular Expression Validator의 별명으로 정규 표현식이 일치하는지 확인합니다.
[[' '],'match','pattern'=>' ','message'=>' '];      
[[' '],'match','not'=>ture,'pattern'=>' ','message'=>' '];  /* */

url: 사이트 주소 | | | CUrlValidator의 별명으로 기능이 유효한 경로임을 확보합니다.
['website', 'url', 'defaultScheme' => 'http'];

captcha | | CCaptchaValidator의 별명으로 특성의 값이 CAPTCHA가 표시한 인증 코드와 같음을 확보합니다.
['verificationCode', 'captcha'];

안전
['description', 'safe'];

compare: (비교) CCompareValidator의 별명으로 특성의 값이 다른 특성이나 상수와 같음을 확보합니다.
['repassword', 'compare', 'compareAttribute' => 'password','message'=>''],

//compareValue:  operator:  
['age', 'compare', 'compareValue' => 30, 'operator' => '>='];

default: 기본값 | |CDefaultValueValidator의 별명으로 특성에 기본값을 할당했습니다.
['age', 'default', 'value' => null];

exist: ||CExistValidator의 별명이 존재하며, 속성 값이 지정한 데이터 테이블 필드에 있는지 확인합니다.
[' ', 'exist'];

file: 파일 |||CFileValidator의 별명으로 업로드 파일의 이름이 포함되어 있는지 확인합니다.
['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024]

filter: 필터|||CFilterValidator의 별명입니다. 필터를 사용하여 속성을 변환합니다.
//'skipOnArray' => true  
[['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true];

in: 범위 | ||CrangeValidator의 별명으로 가입한 값 목록에 특성이 있는지 확인합니다.
['level', 'in', 'range' => [1, 2, 3]];

unique: 유일성 | | CUniqueValidator의 별명으로 데이터 테이블 필드에서 유일한 특성을 확보합니다.
[' ', 'unique']

integer: 정수
['age', 'integer'];

숫자
['salary', 'number'];

더블: 이중 정밀도 부동점형
['salary', 'double'];

date: (날짜)
[['from', 'to'], 'date'];

string:문자열
['username', 'string', 'length' => [4, 24]];

boolean: 부울 값 | | CBooleanValidator의 별명인지 여부
[' ', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true];

image: 유효한 그림 파일인지 여부
['primaryImage', 'image', 'extensions' => 'png, jpg',  'minWidth' => 100, 'maxWidth' => 1000,  'minHeight' => 100, 'maxHeight' => 1000]

each: 반복,ids와product_ids는 숫자의 집합입니다.
[['ids', 'product_ids'], 'each', 'rule' => ['integer']],

사용자 정의 rules:
['password', 'validatePassword'],

/**
 * Validates the password.
 * This method serves as the inline validation for password.
 *
 * @param string $attribute the attribute currently being validated
 * @param array $params the additional name-value pairs given in the rule
 */
public function validatePassword($attribute, $params)
{
    if (!$this->hasErrors()) {
        $user = $this->getUser();
        if (!$user || !$user->validatePassword($this->password)) {
            $this->addError($attribute, '');
        }
    }
}

 
소스 주소:http://www.yii-china.com/post/detail/9.html

좋은 웹페이지 즐겨찾기