服务器端验证(使用StringBuilder对象,存储错误消息) [英] Server side validation( using StringBuilder object, to store error messages)

查看:123
本文介绍了服务器端验证(使用StringBuilder对象,存储错误消息)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello guys



我正在尝试进行服务器端验证。我在StringBuilder对象中存储错误消息。如果,我以错误的格式输入值,那么它工作正常.....但是,如果我以正确的格式输入值,则无法显示成功消息...



我发现问题与StringBuilder对象有关。但无法弄清楚确切的问题。



如果我使用length(),方法而不是equals()方法那么它工作正常。



...请帮我解决这个问题



Hello guys

I am trying to do server side validation. i am storing error messages in StringBuilder object. If, I enter values in wrong format, Then it is working fine.....but ,if I enter values in proper format, it is failing to display success msg...

I found that Problem is with StringBuilder object. but unable to figure out the exact problem.

If I use length(), method instead of equals() method then it works fine.

...pls help me to sort out this issue

public void validateForm(ActionRequest request, ActionResponse actionResponse)
	   
	{   
	        String firstName = request.getParameter("firstName");
	       
	        String lastName =  request.getParameter("lastName");
	        
	        String telephone = request.getParameter("phone");
	        
	        String email =  request.getParameter("email");
	        
	        String comments= request.getParameter("comments");
	        
	        StringBuilder errorMsg=new StringBuilder();
	        
	        //StringBuffer errorMsg=new StringBuffer();
	        
	        System.out.println(errorMsg.equals(""));
	        System.out.println(errorMsg.length());
	        System.out.println("errrr="+errorMsg);
	       
	        String fname="[a-zA-z]+([ '-][a-zA-Z]+)*";
	        
	        String lname="[a-zA-z]+([ '-][a-zA-Z]+)*";
	        
	        String matchPhoneNumberPattern="[0-9]*";
	        
	        String emailPattern="^[\\w-_\\.+]*[\\w-_\\.]\\@([\\w]+\\.)+[\\w]+[\\w]$";
	        
	        if (firstName == null ||firstName.equals(""))
	        {
	        	errorMsg.append("Please Enter First Name "+"<br />");
	            
	        }
	        else if(!firstName.matches(fname))
	        {
	            errorMsg.append("Please Enter First Namet "+"<br />");
	            
	        }
	       
	        if(lastName == null ||lastName .isEmpty())
	        {
	            errorMsg.append("Please Enter Last Name "+"<br />");
	            
	        }
	        else if(!lastName.matches(lname))
	        {
	            errorMsg.append("Enter lastname in Name Format "+"<br />");
	           
	        }
	       
	        if(telephone  == null || telephone.isEmpty())
	        {
	            errorMsg.append("Please Enter Telephone Number "+"<br />");
	            
	        }
	        else if(!telephone.matches(matchPhoneNumberPattern))
	        {
	           
	            errorMsg.append("Invalid Number please Enter valid number"+"<br />");
	          
	        }
	        if(email == null ||  email.isEmpty())
	        {
	            errorMsg.append("Please Enter Email "+"<br />");
	            
	        }
	        else if(!email.matches(emailPattern))
	        {
	           
	            errorMsg.append("Invalid email id"+"<br />");
	       
	        }
	        if (comments == null ||  comments.equals(""))
	        {
	            errorMsg.append("You must Enter Comments "+"<br />");
	            
	        }
	        
	       
	      /*IN all cases this if block is executing,EVen though i enter all fields in proper format */
	        System.out.println(errorMsg.equals(""));
	        
               if(!errorMsg.equals(""))
	        
	        {
	            request.setAttribute("errorMsg", errorMsg);
	            request.setAttribute("phone", telephone);
	            request.setAttribute("email", email);

	           System.out.println("If block..........!");
	           
	        }
	        else
	        {
	            String successMsg="Form Submited Successfully";
	           
	            request.setAttribute("successMsg", successMsg);
	            System.out.println("done..........!");
	        }
	                      
	      
	        	    }

推荐答案

;

if (firstName == null || firstName.equals( ))
{
errorMsg.append( 请输入名字 + < br />);

}
else if (!firstName.matches(fname) ))
{
errorMsg.append( 请输入名字第一个 + < br />);

}

if (lastName == null || lastName .isEmpty())
{
errorMsg.append( 请输入姓氏 + < br / >中);

}
else if (!lastName.matches(lname) ))
{
errorMsg.append( 以名称格式输入姓氏 + < br />);

}

if (telephone == null || telephone.isEmpty())
{
errorMsg.append( 请输入电话号码 + < br />);

}
其他 if (!telephone.matches(matchPhoneNumberPattern) ))
{

errorMsg.append( 无效数字请输入有效数字 + < br />);

}
if (email == null || email.isEmpty())
{
errorMsg.append( 请输入电子邮件 + < br />);

}
其他 if (!email.matches(emailPattern) ))
{

errorMsg.append( 无效的电子邮件ID + < br />);

}
if (comments == null || comments.equals( ))
{
errorMsg.append( < span class =code-string>您必须输入注释
+ < br /> );

}


/ * 在所有情况下这个if块正在执行,即使我以正确的格式输入所有字段* /
System.out.println(errorMsg.equals( ));

if (!errorMsg.equals( ))

{
request.setAttribute( errorMsg,errorMsg);
request.setAttribute( phone,电话);
request.setAttribute( email,email);

System.out.println( if block ......... !);

}
else
{
String successMsg = 表单成功提交;

request.setAttribute( successMsg,successMsg);
System.out.println( done ..........!);
}


}
"; if (firstName == null ||firstName.equals("")) { errorMsg.append("Please Enter First Name "+"<br />"); } else if(!firstName.matches(fname)) { errorMsg.append("Please Enter First Namet "+"<br />"); } if(lastName == null ||lastName .isEmpty()) { errorMsg.append("Please Enter Last Name "+"<br />"); } else if(!lastName.matches(lname)) { errorMsg.append("Enter lastname in Name Format "+"<br />"); } if(telephone == null || telephone.isEmpty()) { errorMsg.append("Please Enter Telephone Number "+"<br />"); } else if(!telephone.matches(matchPhoneNumberPattern)) { errorMsg.append("Invalid Number please Enter valid number"+"<br />"); } if(email == null || email.isEmpty()) { errorMsg.append("Please Enter Email "+"<br />"); } else if(!email.matches(emailPattern)) { errorMsg.append("Invalid email id"+"<br />"); } if (comments == null || comments.equals("")) { errorMsg.append("You must Enter Comments "+"<br />"); } /*IN all cases this if block is executing,EVen though i enter all fields in proper format */ System.out.println(errorMsg.equals("")); if(!errorMsg.equals("")) { request.setAttribute("errorMsg", errorMsg); request.setAttribute("phone", telephone); request.setAttribute("email", email); System.out.println("If block..........!"); } else { String successMsg="Form Submited Successfully"; request.setAttribute("successMsg", successMsg); System.out.println("done..........!"); } }


我认为你应该考虑ArrayList< errorinfo>改为使用errorList方法。





I think you should consider the ArrayList<errorinfo> errorList approach instead.


if(!errorMsg.equals(""))



然后,将此行更改为


Then,change this line to

if(errorList.size()>0){

}


试试,



Try,

if(errorMsg != String.Empty)



而不是




instead of

if(!errorMsg.equals(""))





顺便说一句,你实际上可以使用System.Text.StringBuilder,因为你不需要处理拳击它会更便宜和解拳。



Btw, you can actually use the System.Text.StringBuilder, it would be less expensive to use because you don't have to deal with boxing and un-boxing.


这篇关于服务器端验证(使用StringBuilder对象,存储错误消息)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆