一 以檢測數據庫中是否存在以及是否規範郵件爲例
(1)jsp層
function judgeEmailAvailable() {var regEmail = /^([a-zA-Z0-9_\.-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
var email = $("input[name='email']").val();
if (email.length <1 || !regEmail.test(email)) {
$.alert("email pattern is not right! ");
return;
}
var emailAvailable;
$.ajax(
{
type:"POST",
url:uri,
data: {email:email},
async:false,
success:function(data){
if (data) {
if (data.result == false) {
$.alert(data.message, {ok:function() {
$("input[name='email']").val("");
return emailAvailable = false;
}});
} else {
return emailAvailable = true;
}
}
},
error:function(data){
//console.log("error------judge email controller error!" + data);
}
});
return emailAvailable;
}
(2)Controller層
@RequestMapping("/judgeEmailAvailable")
@RequireLogin
@ResponseBody
public ResultResponse judgeEmailAvailable(String email) {
ResultResponse rr = new ResultResponse(false);
if (true == this.userInfoService.judgeUserEmailAvailable(email)) {
rr.setResult(true);
} else {
rr.setMessage("The email is already exist.");
}
return rr;
}
(3) Service層
Boolean judgeUserEmailAvailable(String email);
@Override
@Transactional
public Boolean judgeUserEmailAvailable(String email) {
List<UserInfo> userInfos = userInfoDAO.getUsersByEmail(email);
if (CollectionUtils.isNotEmpty(userInfos)) {
return false;
}
return true;
}
(4) Dao層
public List<UserInfo> getUsersByEmail(String email) {
DetachedCriteriaBuilder builder = DetachedCriteriaBuilder.instance(UserInfo.class);
builder.addEq("email", email);
return select(builder);
}
二 檢測某一個屬性是否存在並且爲整數
(1)Dao層
public Long findCountByPartNumber(String partNumber) {
DetachedCriteriaBuilder query = DetachedCriteriaBuilder.instance(Device.class);
query.addEq("partNumber", partNumber);
return this.count(query);
}
(2)Service層
String validatePartNumber(String partNumber);
@Override
@Transactional
public String validatePartNumber(String partNumber) {
long count = deviceDao.findCountByPartNumber(partNumber);
if (count > 0) {
return "PartNumber can't be repeated";
}
return "";
}
(3)Controller層
@RequireLogin
@RequestMapping(value="/checkPartNumber",method=RequestMethod.POST)
@ResponseBody
@AccessControl("device_manager_view")
public ResultResponse validatePartNumber(String partNumber){
ResultResponse result=new ResultResponse();
if(StringUtils.isEmpty(partNumber)){
result.setMessage("partNumber can't be empty<br>");
}else{
String msg=deviceService.validatePartNumber(partNumber);
result.setMessage(msg);
}
return result;
}
(4)jsp層
var msg="";
function validatePartNumber(){
if($("#partNumber").val()==''){
msg="請輸入Part Number <br>";
}else{
$.ajax({url:"${path}/arwen/device/checkPartNumber",
type:"POST",
async: false,
data:{partNumber:$("#partNumber").val()},
dataType:"json",
success:function(data){
if(data&&data.message){
msg=data.message;
}else{
msg=data.message;
}
}
});
}
}