rules校验里绑定自定义方法
时间: 2024-09-28 11:05:57 浏览: 29
vue表单自定义校验规则介绍
在规则验证(Rules)库,如 Laravel 的 `Illuminate Validation` 或者 Vue.js 的 `Vuelidate` 中,绑定自定义方法主要是为了扩展内置的验证规则,使其能够处理特定场景下的复杂逻辑。这些自定义方法通常接收验证的属性值作为输入,并返回一个布尔值来判断该值是否满足预设的条件。
例如,在 Laravel 中,你可以创建一个名为 `customRule` 的方法:
```php
use Illuminate\Support\Facades\Validator;
Validator::extend('customRule', function ($attribute, $value, $parameters, $validator) {
// 自定义逻辑,这里假设我们检查邮箱是否有效
return filter_var($value, FILTER_VALIDATE_EMAIL);
}, 'The :attribute must be a valid email.');
// 使用新规则验证
$rules = [
'email' => 'required|customRule',
];
```
在 Vue.js 的 Vuelidate 中,做法类似:
```javascript
import { required, vuev } from 'vue-vuelidate'
Vue.use(vuev)
const validationRules = {
customRule: v => /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(v),
// ...
}
export default {
data() {
return {
email: '',
}
},
validations: {
email: {
required,
customRule: validationRules.customRule
},
// ...
},
}
```
阅读全文