Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
SpringMVC在Java中使用hibernate验证程序的不同部分_Java_Spring_Hibernate_Validation - Fatal编程技术网

SpringMVC在Java中使用hibernate验证程序的不同部分

SpringMVC在Java中使用hibernate验证程序的不同部分,java,spring,hibernate,validation,Java,Spring,Hibernate,Validation,我的问题是,我只想在登录页面中使用用户名和用户密码hibernate验证。也不适用于useremail。我为注册页面或其他内容保留了useremail hibernate验证注释。因此,当我尝试登录页面时,出现了登录错误。(请输入您的电子邮件),但我不想包含该错误。只需检查用户名和用户密码。我如何处理该错误 @RequestMapping(value = "/",method=RequestMethod.GET) public String displayUserForm(Mod

我的问题是,我只想在登录页面中使用用户名和用户密码hibernate验证。也不适用于useremail。我为注册页面或其他内容保留了useremail hibernate验证注释。因此,当我尝试登录页面时,出现了登录错误。(请输入您的电子邮件),但我不想包含该错误。只需检查用户名和用户密码。我如何处理该错误

@RequestMapping(value = "/",method=RequestMethod.GET)
        public String displayUserForm(ModelMap model,HttpServletRequest request){
            model.addAttribute("usertable",new usertable());
            return "login";
        }
以上内容用于登录到login.jsp

private Integer userid;
     @NotEmpty(message = "Please enter your username.")
     private String username;
     @NotEmpty(message = "Please enter your password.")
     private String userpw;
      @NotEmpty(message = "Please enter your email.")
      private String useremail;
以上是pojo类的一部分

<div style="color:red">${errorMessage}</div>
    <form:form method="POST" commandName="usertable" action="/Proje/loginiscorrect">
        <form:errors path="*" cssClass="errorblock" element="div" />
        <table>
            <tr>
                <td>User Name :</td>
                <td><form:input path="username" /></td>
                <td><form:errors path="username" cssClass="error" /></td>
            </tr>
            <tr>
                <td>User Password  :</td>
                <td><form:input path="userpw" /></td>
                <td><form:errors path="userpw" cssClass="error" /></td>
            </tr>                      
            <tr>
                            <td colspan="3"><input type="submit" value="LOGIN"/></td>
            </tr>
        </table>
    </form:form>

以上内容用于通过pojo类注释中的hibernate验证程序进行检查。

可以使用
hibernate组
以这种方式进行检查

为组名创建标记接口

public interface LoginGroup {}
在您的域对象中

private Integer userid;

@NotEmpty(message = "Please enter your username.", groups={LoginGroup.class})
private String username;

@NotEmpty(message = "Please enter your password.", groups={LoginGroup.class})
private String userpw;

@NotEmpty(message = "Please enter your email.")
private String useremail;
在控制器方法中,使用
@Validated
指定组

@RequestMapping(value="/loginiscorrect",method=RequestMethod.POST)
public String LoginUser(@Validated(LoginGroup.class) kisitablo kisitablo, BindingResult result,HttpServletRequest request,HttpServletResponse response) {
    if (result.hasErrors()) {
        return "login";
    }
    //Your logic.....
}
此外,对于您的注册页面,如果您希望验证所有用户名、密码和电子邮件,您可以指定如下

创建一个新的
界面
作为
注册组

public interface RegistrationGroup {}
您的型号:

private Integer userid;

@NotEmpty(message = "Please enter your username.", groups={LoginGroup.class, RegistrationGroup.class})
private String username;

@NotEmpty(message = "Please enter your password.", groups={LoginGroup.class, RegistrationGroup.class})
private String userpw;

@NotEmpty(message = "Please enter your email.", groups={RegistrationGroup.class})
private String useremail;
在控制器方法中执行与前面相同的操作,并将
RegistrationGroup.class
指定为
@Validated(RegistrationGroup.class)


有关更多信息,请

非常感谢。这就是我所期待的,感谢它的帮助!
private Integer userid;

@NotEmpty(message = "Please enter your username.", groups={LoginGroup.class, RegistrationGroup.class})
private String username;

@NotEmpty(message = "Please enter your password.", groups={LoginGroup.class, RegistrationGroup.class})
private String userpw;

@NotEmpty(message = "Please enter your email.", groups={RegistrationGroup.class})
private String useremail;
@RequestMapping(value="/{registration_path}",method=RequestMethod.POST)
public String register(@Validated(RegistrationGroup.class) kisitablo kisitablo, BindingResult result.....) {
        if (result.hasErrors()) {
            return "login";
        }
        //Your logic.....
    }