比如我想添加一个A字段的验证,但数据库里没有,这个时候会报错,有什么参数可以设置吗?
namespace common\models; use Yii; /** * This is the model class for table "{{%org_class}}". * * @property string $id * @property string $name * @property string $org_id * @property string $description */ class OrgClass extends \yii\db\ActiveRecord { public $phone;//数据库中没有的字段 /** * @inheritdoc */ public static function tableName() { return '{{%org_class}}'; } /** * @inheritdoc */ public function rules() { return [ [['id','phone'], 'required'], [['id', 'org_id'], 'string', 'max' => 32], [['name'], 'string', 'max' => 128], [['description'], 'string', 'max' => 256], [['phone'],'integer','length'=>'11'],//对自己定义的字段添加验证 ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => Yii::t('common', 'GUID'), 'name' => Yii::t('common', '分类名称'), 'org_id' => Yii::t('common', '创建该分类的组织ID,和dj_org表关联'), 'description' => Yii::t('common', '分类简要描述'), 'phone'=>Yii::t('common','手机') ]; } /** * @inheritdoc * @return OrgClassQuery the active query used by this AR class. */ public static function find() { return new OrgClassQuery(get_called_class()); } }
重写rules方法
rules
class Model extends \yii\db\ActiveRecord { //... public function rules() { $rules = parent::rules(); $rules[] = [['phone'],'integer','message'=>'手机号码必须是数字']; return $rules; } //... }
在model中先添加这个成员变量啊,参照高级版中注册登陆的表单模型。
先在rule上面声明这个变量
数据库会报错,说没这个字段
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(5)
重写
rules
方法在model中先添加这个成员变量啊,参照高级版中注册登陆的表单模型。
先在rule上面声明这个变量
数据库会报错,说没这个字段