Java 如何在web表单中显示错误信息?
这个问题涉及到。但由于我还没有解决这个问题,我想重申一下我的问题。我正在使用JavaRESTAPI作为我的后端web服务。客户端是一个简单的web表单HTML页面。基本上我想要的是:如果用户提交了一个web表单,并且由于违反数据库唯一约束而导致了一些错误,我希望用户看到一条错误消息以及表单中的id字段,例如“id已存在!”。web表单是一个简单的表单。html:Java 如何在web表单中显示错误信息?,java,forms,Java,Forms,这个问题涉及到。但由于我还没有解决这个问题,我想重申一下我的问题。我正在使用JavaRESTAPI作为我的后端web服务。客户端是一个简单的web表单HTML页面。基本上我想要的是:如果用户提交了一个web表单,并且由于违反数据库唯一约束而导致了一些错误,我希望用户看到一条错误消息以及表单中的id字段,例如“id已存在!”。web表单是一个简单的表单。html: <form action="/myapp/rest/customer/created" method="POST">
<form action="/myapp/rest/customer/created" method="POST">
<table border="1">
<tr>
<td>Customer name:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Customer ID:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>Customer DOB:</td>
<td><input type="text" name="dob"></td>
</tr>
</table>
<br/>
<input type="submit" value="Submit">
</form>
首先,将其添加到代码中的某个地方。它将显示错误消息:
<span id="errorDiv" name="errorDiv" class="errorDiv" ></span>
接下来,将表单声明修改为:
<form action="/myapp/rest/customer/created" method="POST" onsubmit="return checkForm()">
在提交表单之前,它将调用checkForm()函数。如果函数返回true,那么它将发布表单。否则,它将阻止表单提交并显示错误消息
假设您使用jQuery/AJAX调用提交表单内容。您可以从服务器返回字符串(默认值='success')。如果出现错误,请更改特定字符串并返回它,然后在客户端检查值
ResponseText是返回的值
function checkForm(){
//get values from form
var name= $("#name").val();
var id= $("#id").val();
var dob= $("#dob").val();
$.post('DESTINATION',{name:name,id:id,dob:dob},function(responseTxt) {
//MAKE YOUR CHECK HERE. JUST AN EXAMPLE
if (responseTxt.substring(0,4)=='succ'){
//redirect to destination
return true;
}else{
//display error in errorDiv span
$('#errorDiv').html('<font color=red>Wrong username or password.</font>');
//prevents form to be submitted
return false;
}
});
}
函数检查表(){
//从表单中获取值
var name=$(“#name”).val();
var id=$(“#id”).val();
var dob=$(“#dob”).val();
$.post('DESTINATION',{name:name,id:id,dob:dob},函数(responseText){
//请在这里核对。只是一个例子
if(responseText.substring(0,4)='succ'){
//重定向到目标
返回true;
}否则{
//在errorDiv范围中显示错误
$('#errorDiv').html('错误的用户名或密码');
//阻止提交表单
返回false;
}
});
}
希望它能有所帮助首先,在代码中的某个地方添加此选项。它将显示错误消息:
<span id="errorDiv" name="errorDiv" class="errorDiv" ></span>
接下来,将表单声明修改为:
<form action="/myapp/rest/customer/created" method="POST" onsubmit="return checkForm()">
在提交表单之前,它将调用checkForm()函数。如果函数返回true,那么它将发布表单。否则,它将阻止表单提交并显示错误消息
假设您使用jQuery/AJAX调用提交表单内容。您可以从服务器返回字符串(默认值='success')。如果出现错误,请更改特定字符串并返回它,然后在客户端检查值
ResponseText是返回的值
function checkForm(){
//get values from form
var name= $("#name").val();
var id= $("#id").val();
var dob= $("#dob").val();
$.post('DESTINATION',{name:name,id:id,dob:dob},function(responseTxt) {
//MAKE YOUR CHECK HERE. JUST AN EXAMPLE
if (responseTxt.substring(0,4)=='succ'){
//redirect to destination
return true;
}else{
//display error in errorDiv span
$('#errorDiv').html('<font color=red>Wrong username or password.</font>');
//prevents form to be submitted
return false;
}
});
}
函数检查表(){
//从表单中获取值
var name=$(“#name”).val();
var id=$(“#id”).val();
var dob=$(“#dob”).val();
$.post('DESTINATION',{name:name,id:id,dob:dob},函数(responseText){
//请在这里核对。只是一个例子
if(responseText.substring(0,4)='succ'){
//重定向到目标
返回true;
}否则{
//在errorDiv范围中显示错误
$('#errorDiv').html('错误的用户名或密码');
//阻止提交表单
返回false;
}
});
}
希望它能帮助您在客户端(JS/jQuery)验证您应该在客户端执行的操作。如果要进行服务器端验证,可以使用AJAX或提交表单来实现。我需要进行服务器端验证,因为错误来自DB验证。但是如何通过AJAX将DB冲突传递给客户端呢?用户仍应看到相同的页面,但包含错误信息。服务器不会“通过AJAX将内容传递给客户端”,客户端会向服务器发送请求,通过AJAX验证内容,并在客户端显示响应,而无需刷新页面。了解更多关于AJAX的信息。谢谢。您的意思是我可以使用jqueryajax调用将请求发送到服务器进行数据验证吗?如果是这样,如果有错误,服务器将返回带有错误信息的响应,是否正确?您可以在客户端(JS/jQuery)验证什么,您应该在客户端执行什么。如果要进行服务器端验证,可以使用AJAX或提交表单来实现。我需要进行服务器端验证,因为错误来自DB验证。但是如何通过AJAX将DB冲突传递给客户端呢?用户仍应看到相同的页面,但包含错误信息。服务器不会“通过AJAX将内容传递给客户端”,客户端会向服务器发送请求,通过AJAX验证内容,并在客户端显示响应,而无需刷新页面。了解更多关于AJAX的信息。谢谢。您的意思是我可以使用jqueryajax调用将请求发送到服务器进行数据验证吗?如果是这样,如果有错误,服务器将返回带有错误信息的响应,正确吗?谢谢mario。我试试这个,还是没用。如果提交失败,它将转到显示“内部服务器错误”页面。谢谢mario。我试试这个,还是没用。如果提交失败,它将转到显示“内部服务器错误”页面。