6

検証コードは

 return array( 
         array('firstname, lastname, confirm_email, education, email, password, occupation,location , birthdate, interest,gender,created, modified', 'required'),

                     array('email', 'email'),
                     array('password', 'length', 'max'=>20, 'min' => 5,'message' => "Incorrect fi (length between 5 and 20 characters)."),
                     array('firstname', 'match', 'pattern' => '/^[A-Za-z0-9_]+$/u','message' => UserModule::t("Incorrect symbols (A-z0-9).")),
                     array('email', 'unique'),
    );
4

3 に答える 3

13

以下に示すルールにより、yiiユーザーモデルでメールを一意にすることができます。

public function rules() {
   return array(
     ...
     array('email', 'email'),
     array('email', 'unique', 'className' => 'User',
        'attributeName' => 'email',
        'message'=>'This Email is already in use'),
     ...
); }

ここで、classNameはユーザーモデルクラスの名前であり、attributeNameはdbメールフィールド名です。

以下のリンクも確認してください。

http://www.yiiframework.com/forum/index.php/topic/32786-creating-my-own-model-cmodel-not-cactiverecord/

ありがとう

于 2013-11-04T07:51:42.913 に答える
5
public function rules()
{
    return array(
        ...
        array('email', 'email'),
        array('email', 'unique'),
        ...
    );
}
于 2012-09-11T05:17:24.323 に答える
0

これを試して:

あなたの与えられたコードによると、それは大丈夫のようです

検証については、次のURLを使用して確認できます。

http://www.yiiframework.com/doc/guide/1.1/en/form.model#declaring-validation-rules

于 2012-09-07T13:47:21.253 に答える