Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不违反其他输入字段的验证的情况下传递所需参数_Java_Validation_Rest_Hibernate Validator_Spring Rest - Fatal编程技术网

Java 如何在不违反其他输入字段的验证的情况下传递所需参数

Java 如何在不违反其他输入字段的验证的情况下传递所需参数,java,validation,rest,hibernate-validator,spring-rest,Java,Validation,Rest,Hibernate Validator,Spring Rest,我已经为一个模块的所有参数创建了一个输入传递参数类,希望为不同的操作使用不同的参数 我传递的参数类的字段如下 private Integer userId; @Id @Column(name = "user_email_id") @NotEmpty(message = "Please enter your email_Id.") @Email @NotNull(message = "Enter last name") private String userEmailId; @NotEmpty(m

我已经为一个模块的所有参数创建了一个输入传递参数类,希望为不同的操作使用不同的参数

我传递的参数类的字段如下

private Integer userId;
@Id
@Column(name = "user_email_id")
@NotEmpty(message = "Please enter your email_Id.")
@Email
@NotNull(message = "Enter last name")
private String userEmailId;
@NotEmpty(message = "Please enter your password.")
@Column(name = "user_password")
private String userPassword;
@NotNull(message = "Enter last name")
@NotEmpty(message = "Please enter your firstName.")
@Column(name = "firstname")
@SafeHtml()
private String firstName;
@SafeHtml()
@NotNull(message = "Enter last name")
@NotEmpty(message = "Please enter your lastName.")
@Column(name = "lastname")
private String lastName;
@NotEmpty
@Pattern(regexp = "(^[0-9]{10,12}$)", message = "Please enter your Mobile Number.")
@NumberFormat
@Column(name = "mobile_number")
private String mobileNumber;
@Column(name = "user_status")
private Integer userStatus;
@Column(name = "isdeleted")
private Integer isDeleted;
@Column(name = "createdUserId")
private Integer createdUserId;
@Column(name = "profile_picturename")
private String profilePicturename;
@Column(name = "address")
private String address;

private Integer isAdmin;
这是我用的注册卡

 {  
"userEmailId": "sdfdfgfgf",
"userPassword": "fdsdsdf",
"firstName": "sdfsdf",
"lastName": "sfdsdfds",
"mobileNumber": "sdfgdgdf",
"userStatus": 1,
"isDeleted": 0,
"createdUserId": 1,
"profilePictureName": "kfksdjfhksjd",
"address": "sfdsdfsd"
}

在json中传递参数&用于尝试传递的登录

{
"userEmailId": "f@g.cm",
"userPassword": "fdsdsdf",
"isAdmin":0
}

参数,但对于登录,我也会收到其他字段的验证消息

有谁能告诉我,如何只将所需字段传递给方法,而不获取未传递字段的验证消息


Thnaks PREVICE

如果您的要求是只通过必填字段,那么我觉得您不应该为其他非必填字段设置@notnull,如下所示:

private Integer userId;
@Id
@Column(name = "user_email_id")
@NotEmpty(message = "Please enter your email_Id.")
@Email
@NotNull(message = "Enter last name")
private String userEmailId;
@NotEmpty(message = "Please enter your password.")
@Column(name = "user_password")
private String userPassword;
@NotEmpty(message = "Please enter your firstName.")
@Column(name = "firstname")
@SafeHtml()
private String firstName;
@SafeHtml()
@NotEmpty(message = "Please enter your lastName.")
@Column(name = "lastname")
private String lastName;
@NotEmpty
@Pattern(regexp = "(^[0-9]{10,12}$)", message = "Please enter your Mobile Number.")
@NumberFormat
@Column(name = "mobile_number")
private String mobileNumber;
@Column(name = "user_status")
private Integer userStatus;
@Column(name = "isdeleted")
private Integer isDeleted;
@Column(name = "createdUserId")
private Integer createdUserId;
@Column(name = "profile_picturename")
private String profilePicturename;
@Column(name = "address")
private String address;

private Integer isAdmin;

我不太确定将所有潜在参数分组到一个类中是否有意义,但是如果您说您只想基于特定用例验证给定子集,那么您需要使用验证组。检查Hibernate验证程序联机文档以了解此功能。基本上,您可以将不同的约束分配给不同的组,例如
Login
。然后,当您调用
Validator#validate
时,您也会传递要验证的组。如果您自己控制验证,那么这不是问题。如果您使用的是其他框架,而这些框架又与Bean验证集成在一起,那么您需要检查如何对给定的组进行验证