Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 如何在web表单中显示错误信息?_Java_Forms - Fatal编程技术网

Java 如何在web表单中显示错误信息?

Java 如何在web表单中显示错误信息?,java,forms,Java,Forms,这个问题涉及到。但由于我还没有解决这个问题,我想重申一下我的问题。我正在使用JavaRESTAPI作为我的后端web服务。客户端是一个简单的web表单HTML页面。基本上我想要的是:如果用户提交了一个web表单,并且由于违反数据库唯一约束而导致了一些错误,我希望用户看到一条错误消息以及表单中的id字段,例如“id已存在!”。web表单是一个简单的表单。html: <form action="/myapp/rest/customer/created" method="POST">

这个问题涉及到。但由于我还没有解决这个问题,我想重申一下我的问题。我正在使用JavaRESTAPI作为我的后端web服务。客户端是一个简单的web表单HTML页面。基本上我想要的是:如果用户提交了一个web表单,并且由于违反数据库唯一约束而导致了一些错误,我希望用户看到一条错误消息以及表单中的id字段,例如“id已存在!”。web表单是一个简单的表单。html:

<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。我试试这个,还是没用。如果提交失败,它将转到显示“内部服务器错误”页面。