我对Laravel 4和验证概念有疑问。
我有我的mysql表和我的模型Calass .. 我们可以假设我们有一个可空的字段...
如果此字段不为null,我该如何验证它? (例如,我将是一个整数值< of my maxvalue)
答案 0 :(得分:1)
除非您添加' required'规则,验证将始终将字段视为可选字段。因此,如果字段为空或空字符串,则numeric|max:9000
之类的规则将有效,但如果提供它,则必须是小于9000的数字。
为了防止将null或空字符串保存到数据库中(MySQL将整数字段将其转换为0),您可以为该属性设置mutator。在你的模型中:
public function setNumberAttribute($value)
{
if ($value !== null && is_numeric($value)) {
$this->attributes['number'] = (int) $value;
}
}
答案 1 :(得分:0)
您可以在模型中创建验证
前:
class User extends Eloquent {
protected $table = 'users';
public $timestamps = false;
public static function validate($input) {
$rules = array(
# place-holder for validation rules
);
# validation code
}
}
有关验证laravel book
的更多说明