如題啦!
Laravel Validate 怎么讓表單驗證遇到第一個驗證失敗后停止繼續驗證其他屬性?
溫馨提示: 不是 bail 這個是一個屬性不再驗證其他規則.
laravel
validate
uj5u.com熱心網友回復:
我也遇到同樣的疑惑,請問解決了嗎?
uj5u.com熱心網友回復:
沒有解決 請查看這里 問答:求救大佬 rules () 中有多個屬性, 怎么遇到一個失敗就結束其他屬性驗...
只能把耗時的驗證規則不要放在 表單驗證 里面, 而是通過表單驗證后再自行判斷.
uj5u.com熱心網友回復:
@Configurablepublic class ValidatorConfig {
@Bean
public Validator validator(){
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
.failFast(true)
.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
return validator;
}
}
需要回傳統一格式,配置例外攔截器, 監聽BindException
@ExceptionHandler(value = BindException.class)
@ResponseBody
public Result<?> bindErrorHandler(Exception e) throws Exception {
BindException bindException = (BindException)e;
List<FieldError> fieldErrorList = bindException.getFieldErrors();
if(null != fieldErrorList && fieldErrorList.size() > 0){
FieldError fieldError = fieldErrorList.get(0);
String message = fieldError.getDefaultMessage();
return Result.error(message);
}
return Result.error(SysDefaultErr.SYSTEM_ERROR);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/250321.html
標籤:其他技術討論專區
上一篇:雙端佇列作為雙鏈表被實行,在下面4-21行定義了。函式在23-53宣告,然后創建了一個新的deque 指向rp
下一篇:nginx 過濾特殊字符
