當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
品牌管理-JSR303数据校验
生活随笔
收集整理的這篇文章主要介紹了
品牌管理-JSR303数据校验
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JSR303
1)、給Bean添加校驗注解:javax.validation.constraints,并定義自己的message提示
2)、開啟校驗功能@Valid效果:校驗錯誤以后會有默認的響應;
3)、給校驗的bean后緊跟一個BindingResult,就可以獲取到校驗的結果
4)、分組校驗(多場景的復雜校驗)1)、 @NotBlank(message = "品牌名必須提交",groups = {AddGroup.class,UpdateGroup.class})給校驗注解標注什么情況需要進行校驗2)、@Validated({AddGroup.class})3)、默認沒有指定分組的校驗注解@NotBlank,在分組校驗情況@Validated({AddGroup.class})下不
生效,只會在@Validated生效;
/*** 保存*/
@RequestMapping("/save")
//@RequiresPermissions("product:brand:save")
public R save(@Validated({AddGroup.class}) @RequestBody BrandEntity brand/*,BindingResult result*/){if(result.hasErrors()){Map<String,String> map = new HashMap<>();//1、獲取校驗的錯誤結果result.getFieldErrors().forEach((item)->{//FieldError 獲取到錯誤提示String message = item.getDefaultMessage();//獲取錯誤的屬性的名字String field = item.getField();map.put(field,message);});return R.error(400,"提交的數據不合法").put("data",map);}else {}brandService.save(brand);return R.ok();
}
import com.leon.common.valid.AddGroup;
import com.leon.common.valid.ListValue;
import com.leon.common.valid.UpdateGroup;
import com.leon.common.valid.UpdateStatusGroup;
import com.leon.mybatisplus.annotation.TableId;
import com.leon.mybatisplus.annotation.TableName;import java.io.Serializable;import lombok.Data;
import org.hibernate.validator.constraints.URL;import javax.validation.constraints.*;/*** 品牌*/
@Data
@TableName("pms_brand")
public class BrandEntity implements Serializable {private static final long serialVersionUID = 1L;/*** 品牌id*/@NotNull(message = "修改必須指定品牌id",groups = {UpdateGroup.class})@Null(message = "新增不能指定id",groups = {AddGroup.class})@TableIdprivate Long brandId;/*** 品牌名*/@NotBlank(message = "品牌名必須提交",groups = {AddGroup.class,UpdateGroup.class})private String name;/*** 品牌logo地址*/@NotBlank(groups = {AddGroup.class})@URL(message = "logo必須是一個合法的url地址",groups={AddGroup.class,UpdateGroup.class})private String logo;/*** 介紹*/private String descript;/*** 顯示狀態[0-不顯示;1-顯示]*/
// @Pattern()@NotNull(groups = {AddGroup.class, UpdateStatusGroup.class})@ListValue(vals={0,1},groups = {AddGroup.class, UpdateStatusGroup.class})private Integer showStatus;/*** 檢索首字母*/@NotEmpty(groups={AddGroup.class})@Pattern(regexp="^[a-zA-Z]$",message = "檢索首字母必須是一個字母",groups={AddGroup.class,UpdateGroup.class})private String firstLetter;/*** 排序*/@NotNull(groups={AddGroup.class})@Min(value = 0,message = "排序必須大于等于0",groups={AddGroup.class,UpdateGroup.class})private Integer sort;}
public interface AddGroup {
}
public interface UpdateStatusGroup {
}
public interface UpdateGroup {
}
?
總結
以上是生活随笔為你收集整理的品牌管理-JSR303数据校验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nacos配置中心-加载多配置集
- 下一篇: 品牌管理-统一异常处理