Click to See Complete Forum and Search --> : User Validation in JSP


daina
02-09-2006, 12:14 AM
Hi

I did custom tag like this.

FirstCustomPage.jsp:---

<%@ taglib uri="/customtable1" prefix="customtable" %>
<form name="form1" method="post" action="DemoServlet" >
<table border = 2>
<tr>
<customtable:customtd name="UserId" value="" />

</tr>
<tr>
<customtable:customtd name="UserName" value="" />
</tr>
<tr>
<td>
<input type = submit value = Submit>
</td>
</tr>
</table>
</form>

CustomTagDemo.java:-

public class CustomTagDemoextends TagSupport{

private String name;
private String value ;

public int doStartTag() throws JspException {

JspWriter out = pageContext.getOut();
StringBuffer sb = new StringBuffer();
sb.append("<td><b> " + name + "<//b></td><td><input type = text name ="+name+"");

String valueObject = pageContext.getRequest().getParameter(name);

if(valueObject != null)
{
System.out.println("inside valueObject" + valueObject);
sb.append(" value=\"" + valueObject + "\"");
}
sb.append(" /></td>");

if(valueObject != null && valueObject.equals(""))
{
sb.append("<td><font color=red>Please Enter the value</font></td>");
}

return SKIP_BODY;
}

public void setValue(String _value)
{
value = _value;
}
public String getValue() {
return value;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}


}

DemoServlet.java:--

public class DemoServlet extends HttpServlet {


protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {


Enumeration enum = req.getParameterNames();

while(enum.hasMoreElements())
{
String value = req.getParameter(enum.nextElement().toString());
if(value.equals("")){
RequestDispatcher dispatcher = req.getRequestDispatcher("/FirstCustomPage.jsp");
if (dispatcher != null)
dispatcher.forward(req, res);
}

}
}

Its working fine.But I can't do checking in servlet.After checking only then control should go to Servlet.So I have to remove that code from servlet.I have to check in JSP Page only(cannot use javascript). I don't know how to do that.Can u plz tell me how to do it without using JavaScript.Is there any other way to validate textbox.

BuezaWebDev
02-11-2006, 05:35 AM
Can't you just use request.getParameter("fieldName"); and validate from there?

daina
02-12-2006, 11:29 PM
Hi
I gave like this....


<%@ taglib uri="/customtable1" prefix="customtable" %>

<% int flag = 0; %>
<center>
<form name="form1" method="post" bgcolor =cccccc >
<body bgcolor =cccccc >
<h3>Users Details</h3>
<br><br><br>

<table border = 2>
<tr>
<customtable:customtd name="UserId" value="" />
</tr>
<tr>
<customtable:customtd name="UserName" value="" />
</tr>
<tr>
<td></td>
<td>
<input type = submit value = Submit>
</td>
</tr>
</table>

<%

if((request.getParameter("UserId") == null) || (request.getParameter("UserName") == null))
{
flag = 0;
}
else if((request.getParameter("UserId").equals("")) || (request.getParameter("UserName").equals("")))
{
flag=0;
}

else
{
flag = 1;
}
if(flag == 1)
{ %>

<jsp:forward page="DemoServlet" />

<% } %>
</body>
</form>
</center>
I did like this.It is working.But Suppose I have 10 fields.It is not possible to write all the fields & validate..Is there any easy way to do it. & one more thing suppose If I gave one space in textbox.It won't show any error message.I tried to give trim() . It showing error.