validation 相关问题

验证用于检查数据,以确保它符合为其设置的任何所需规范。通常,验证用于检查输入数据,以及在存储之前验证数据。

逗号分隔的手机号码正则表达式验证

我正在尝试验证手机号码(带国家/地区代码),但不起作用。发布以下验证标准: 有效号码: +18790912345(有效) +18790112345,+18790123409(有效) +1-

回答 2 投票 0

快速响应模式验证

我正在尝试验证来自 fastify 的响应和请求 我已经成功实现了请求和响应模式并且工作正常。 但只有当响应是一个对象并且......

回答 1 投票 0

将每晚的平均值与每晚的价值进行比较,统计有效性?

我正在使用来自站点的数据来检查不同因素在几个晚上对站点退出的影响。日落后我用了几分钟的时间来研究蝙蝠离开现场的情况。 我想看看这5晚...

回答 1 投票 0

Nest.js 中的 @Headers 可以通过 DTO 进行验证吗?

我是 Nest.js 的新手,对整体语法有很好的理解。然而,在创建其中一个控制器时,我遇到了与 @Head 解析的数据验证相关的问题......

回答 1 投票 0

尽管返回错误的 Vanilla Javascript,表单仍在提交

这是我的App.js errorMessage=(验证器、输入、值)=> { const valid=验证器(值) 如果(值= = = =“”){ input.nextElementSibling.style.display="继承" 返回

回答 1 投票 0

机器学习 cross_val_score 与 cross_val_predict

在构建通用评估工具时,我遇到了以下问题,其中 cross_val_score.mean() 给出的结果与 cross_val_predict 略有不同。 用于计算测试 SC...

回答 2 投票 0

验证 Bootstrap 5.1 中的内联单选按钮

我有一个需要验证的表单,并且适用于文本和文本区域,但不适用于内联单选按钮。 <... 我有一个需要验证的表单,并且适用于文本和文本区域,但不适用于内联单选按钮。 <form class="needs-validation" novalidate method="POST"> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1" required> <label class="form-check-label" for="inlineRadio1">1</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2" required> <label class="form-check-label" for="inlineRadio2">2</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3" required> <label class="form-check-label" for="inlineRadio3">3</label> </div> <div class="invalid-feedback"> Radio button is required. </div> <button class="btn btn-primary" type="submit">Validate</button> </form> 我看到提交时控件和标签变成红色,但无效反馈中的文本不存在。我还希望它一直向左对齐。 将此 CSS 类添加到您的文档中: .was-validated :invalid~.invalid-feedback { display: inline; } 通过这种方式,您可以覆盖提交表单后应用于 display: block 的 invalid-feedback,并且验证消息将内联显示,与其余内联对象对齐。

回答 1 投票 0

为什么我的验证 API 或验证注释在我的项目中不起作用?

这是我的 2 个域类: 包装炸玉米饼; 导入java.util.List; 导入 javax.validation.constraints.NotNull; 导入 javax.validation.constraints.Size; 导入lombok.Data; @数据 公开课 Tac...

回答 1 投票 0

Vue 3 + TypeScript + <script setup>

所以这是现代 Vue 3 props 声明的基本示例,其中 具有强制名称和可选年龄: // <script setup lang="ts"> 定义Pr...</desc> <question vote="6"> <p>所以这是现代 Vue 3 props 声明的基本示例,其中 <pre><code>&lt;script setup lang=&#34;ts&#34;&gt;</code></pre> 具有强制 <pre><code>name</code></pre> 和可选 <pre><code>age</code></pre>:</p> <pre><code>// &lt;script setup lang=&#34;ts&#34;&gt; defineProps&lt;{ name: string, age?: number }&gt;() // &lt;/script&gt; </code></pre> <p>这里是相同的声明,但 <pre><code>age</code></pre> 具有默认值:</p> <pre><code>// &lt;script setup lang=&#34;ts&#34;&gt; withDefaults(defineProps&lt;{ name: string, age?: number }&gt;(), { age: 20 }) // &lt;/script&gt; </code></pre> <p>我的主要问题是:<strong>有没有办法将验证器合并到这个新语法中</strong>?或者每当我需要添加验证器时,我需要回滚到旧语法,即:</p> <pre><code>// &lt;script setup lang=&#34;ts&#34;&gt; defineProps({ age: { type: Number, validator(value: number) =&gt; value &gt; 0 } }) // &lt;/script&gt; </code></pre> <p>我发现了类似的主题,其中一些人建议使用泛型类型并传递参数来定义属性,如下所示:</p> <pre><code>// &lt;script setup lang=&#34;ts&#34;&gt; defineProps&lt;{ age: number }&gt;({ age: { validator(value: number) =&gt; value &gt; 0 } }) // &lt;/script&gt; </code></pre> <p>但是这种方法不起作用,并且立即出现错误:<pre><code>defineProps has both a type-only props and an argument.</code></pre>(<a href="https://eslint.vuejs.org/rules/valid-define-props.html" rel="noreferrer">eslintvue/valid-define-props</a>)</p> </question> <answer tick="false" vote="0"> <p>最后一点不起作用,因为您同时使用基于类型的 AND 运行时声明,但您只能使用其中之一。</p> <p><strong>运行时声明</strong></p> <pre><code>const props = defineProps({ name: { type: String, required: true }, age: { type: Number, default: 20 } }) </code></pre> <p><strong>基于类型的声明</strong></p> <pre><code>const props = defineProps&lt;{ name: string, age?: number }&gt;() </code></pre> <p><strong>使用界面</strong></p> <pre><code>interface Props { name: string, age?: number } const props = defineProps&lt;Props&gt;() </code></pre> <p><strong>...使用默认值</strong></p> <pre><code>const props = withDefaults(defineProps&lt;Props&gt;(), { age: 20 }) </code></pre> <p>您还应该在将其作为 prop 传递之前处理验证,并避免直接从子组件中对其进行变异。</p> </answer> </body></html>

回答 0 投票 0

如何在 JavaScript 中验证 EAN / GTIN 条形码

如何在 JavaScript 中检查字符串是否是有效的 EAN / GTIN 条形码? 我需要检查 EAN8、EAN12、EAN13、EAN14、EAN18 以及 GTIN12、GTIN13、GTIN14。

回答 9 投票 0

扩展Magento 2 Rules.js而不覆盖核心js文件?

是否可以覆盖 Magento_Ui/js/lib/validation/rules.js 文件而不映射该文件,如下例所示? 变量配置= { “地图”: { “*”:{ 'Magento_Ui/j...

回答 2 投票 0

验证后百里香中的空文件

我有一个带有文件字段和复选框的百里香表单。两者都是必需的 我有一个带有文件字段和复选框的百里香表单。两者都是必需的 <form action="#" th:action="@{/upload}" th:object="${data}" method="post" enctype="multipart/form-data"> <input type="file" th:field="*{exampleFile}" accept="application/pdf"/> <div class="error" (...) /> <input type="checkbox" th:field="*{isOwner}"/> <div class="error" (...) /> (...) </form> 以及帖子方法 @PostMapping("upload") public String upload(@Valid @ModelAttribute("data") DataDTO data, BindingResult result, Model model) { if (result.hasErrors()) { return "upload"; } (...) return "redirect:/confirm"; } 当我选择文件但未选中复选框并提交表单时,复选框上会出现验证错误。 文件文件上没有验证错误(这是正确的),但此字段为空,我需要再次选择文件。 我需要表单在验证期间不删除文件 抱歉,我没有权限评论您的问题,我认为您的意思是类似this?

回答 1 投票 0

替换 OR 运算符 (||) 以获得更简洁的答案匹配?

我正在使用React JS。 我当前的代码可以工作,但我希望使其更加简洁。 我正在对用户输入进行验证。我的意思是“如果用户输入与 A 或 B 或 O 不匹配,则将其设置为

回答 1 投票 0

如何在 JSF 页面中使用 validateRegex 验证数字字段?

在托管 bean 中,我有一个 int 类型的属性。 @ManagedBean @SessionScoped 公共类 Nacharbeit 实现可序列化 { 私有整数; 在 JSF 页面中我尝试验证这个专业...

回答 3 投票 0

如何正确使用“Exists”?

我做错了什么?这是一个 API 调用,我将在其中保存一个新用户。基本上在新用户注册期间,我想显示异常并在每次插入时阻止保存过程...

回答 1 投票 0

使用 Flask 从 WTForm 进行电子邮件验证

我正在关注 http://code.tutsplus.com/tutorials/intro-to-flask-adding-a-contact-page--net-28982 的 Flask 教程,目前陷入验证步骤: 旧版本有以下内容...

回答 7 投票 0

JSON 架构验证失败。找到数组值,但需要 null 或对象。 - 在 JMeter 中,由于列表值中存在特殊字符

简单来说: 我越来越 ( JSON 架构验证失败。找到数组值,但为 null 或 需要对象 )自定义 HTTPS 示例请求负载的响应负载上的错误消息...

回答 1 投票 0

Nextjs v14 中的 useFormState 与 useForm

我只是想了解在react-dom useFormState上使用react hook useForm的用例。我在 Nextjs 文档中看到他们建议使用内置的 useFormState,但是当我...

回答 1 投票 0

使用 JavaScript 进行表单验证?

我正在尝试使用 JavaScript 来使用表单验证,但是我似乎没有得到任何响应,甚至没有收到警报,即使它在那里。 我正在尝试使用 JavaScript 进行表单验证,但是我似乎没有得到任何响应,甚至没有警报,即使它在那里。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Example Form</title> <script type="text/javascript"> function CheckForBlank() { if(document.getElementById('name').value="") { alert("enter something valid"); return false; } } </script> </head> <body> <form method="post" action="2013.php" onsubmit="return CheckForBlank();"> Name: <input type="text" name="name" id="name"/> Age: <input type="text" name="age" id="age"/> Email: <input type="text" name="email" id="email"/> <p><input type="submit" value="Submit" /></p> </form> </body> </html> 在 javascript 中使用 === 或 == 进行条件检查。 if(document.getElementById('name').value === ""){ alert("enter something valid"); return false; } 必须使用==进行比较。=用于赋值 if(document.getElementById('name').value == ""){ alert("enter something valid"); return false; } 工作演示 这里您的问题仅与if状况有关!您必须在 JavaScript 中使用 == OR === 进行比较。 以下是更正后的脚本! function CheckForBlank() { if(document.getElementById('name').value=="") { alert("enter something valid"); return false; } } 如果您删除或避免 return false,表单 will 回发,即使验证失败!所以,return false意味着,在if之后退出功能是必须的,而这在另一个答案中被遗漏了!! 您正在使用 = 这是赋值运算符,使用 == 比较运算符可以正常工作 <head> <title>Example Form</title> <script type="text/javascript"> function CheckForBlank() { if(document.getElementById('name').value=="") { alert("enter something valid"); return false; } } </script> </head> <body> <form method="post" onsubmit="return CheckForBlank();"> Name: <input type="text" name="name" id="name"/> Age: <input type="text" name="age" id="age"/> Email: <input type="text" name="email" id="email"/> <p><input type="submit" value="Submit" /></p> </form> </body> 我不敢相信,直到现在我才意识到这一点,尽管如果您将 Javascript 附加到表单提交事件,而不是按钮提交事件;正常的浏览器验证有效(即 input[type="email]、required="required" 等)。 适用于 Firefox 和 Chrome。 // jQuery example attaching to a form with the ID form $(document).on("submit", "#form", function(e) { e.preventDefault(); console.log ("Submitted! Now serialise your form and AJAX submit here..."); }) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="valide.css"> <script src="validate.js" defer></script> <title>Register</title> <style>body{ background-attachment: fixed; margin:0; font-family: 'Poppins', sans-serif; } #form{ width:400px; margin:20vh auto 0 auto; background-color: whitesmoke; border-radius: 5px; padding:30px; } h1{ text-align: center; color:#792099; } #form button{ background-color: #792099; color:white; border: 1px solid #792099; border-radius: 5px; padding:10px; margin:20px 0px; cursor:pointer; font-size:20px; width:100%; } .input-group{ display:flex; flex-direction: column; margin-bottom: 15px; } .input-group input{ border-radius: 5px; font-size:20px; margin-top:5px; padding:10px; border:1px solid rgb(34,193,195) ; } .input-group input:focus{ outline:0; } .input-group .error{ color:rgb(242, 18, 18); font-size:16px; margin-top: 5px; } .input-group.success input{ border-color: #0cc477; } .input-group.error input{ border-color:rgb(206, 67, 67); }</style> </head> <body> <div class="container"> <form action="" id="form"> <h1>Register</h1> <div class="input-group"> <label for="username">Username</label> <input type="text" id="username" name="username"> <div class="error"></div> </div> <div class="input-group"> <label for="email">Email</label> <input type="text" id="email" name="email" > <div class="error"></div> </div> <div class="input-group"> <label for="password">Password</label> <input type="password" id="password" name="password"> <div class="error"></div> </div> <div class="input-group"> <label for="cpassword">Confirm Password</label> <input type="password" id="cpassword" name="cpassword"> <div class="error"></div> </div> <div class="input-group"> <label for="mobno">mobileno</label> <input type="tel" id="mobile" name="mobile"> <div class="error"></div> </div> <div class="input-group"> <label for="Dob">date of birth</label> <input type="date" id="dob" name="dob"> <div class="error"></div> </div> <button type="submit">Register</button> </form> <script> const form = document.querySelector('#form') const username = document.querySelector('#username'); const email = document.querySelector('#email'); const password = document.querySelector('#password'); const cpassword = document.querySelector('#cpassword'); const mobno = document.querySelector('#mobile'); const dob= document.querySelector('#dob'); form.addEventListener('submit',(e)=>{ if(!validateInputs()){ e.preventDefault(); } }) function validateInputs(){ const usernameVal = username.value.trim() const emailVal = email.value.trim(); const passwordVal = password.value.trim(); const cpasswordVal = cpassword.value.trim(); const mobileno = mobno.value.trim(); const dobval=dob.value.trim(); let success = true if(usernameVal===''){ success=false; setError(username,'Username is required') } else{ setSuccess(username) } if(emailVal===''){ success = false; setError(email,'Email is required') } else if(!validateEmail(emailVal)){ success = false; setError(email,'Please enter a valid email') } else{ setSuccess(email) } if(passwordVal === ''){ success= false; setError(password,'Password is required') } else if(passwordVal.length<8){ success = false; setError(password,'Password must be atleast 8 characters long') } else{ setSuccess(password) } if(cpasswordVal === ''){ success = false; setError(cpassword,'Confirm password is required') } else if(cpasswordVal!==passwordVal){ success = false; setError(cpassword,'Password does not match') } else{ setSuccess(cpassword) } if(mobileno==''){ success= false; setError(mobno,'mobile no is required') } else if(mobileno.length<=10){ success= false; setError(mobno,'its not a valid mob no') } // else if(!validatmob(mobno)){ // success = false; // setError(mobno,'Please enter a valid email') // } else{ setSuccess(mobno) } if(dobval==''){ success= false; setError(dob,'dob is required') } else{ setSuccess(dob) } return success; } function setError(element,message){ const inputGroup = element.parentElement; const errorElement = inputGroup.querySelector('.error') errorElement.innerText = message; inputGroup.classList.add('error') inputGroup.classList.remove('success') } function setSuccess(element){ const inputGroup = element.parentElement; const errorElement = inputGroup.querySelector('.error') errorElement.innerText = ''; inputGroup.classList.add('success') inputGroup.classList.remove('error') } const validateEmail = (email) => { return String(email) .toLowerCase() .match( /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); }; // const validatmob = (mobile) => { // return Integer(mobile) // .toLowerCase() // .match( // /^\+1 \(\d{3}\) \d{3}-\d{4}$/ ); // }; </script> </div> </body> </html> // const form = document.querySelector('#form'); const username = document.querySelector('#username'); const email = document.querySelector('#email'); const password = document.querySelector('#password'); const cpassword = document.querySelector('#cpassword'); const mobno = document.querySelector('#mobile'); const dob = document.querySelector('#dob'); form.addEventListener('submit', (e) => { if (!validateInputs()) { e.preventDefault(); } }); // Attach input event listeners username.addEventListener('input', () => validateInput(username, 'Username is required')); email.addEventListener('input', () => validateInput(email, 'Email is required', validateEmail)); password.addEventListener('input', () => validateInput(password, 'Password is required', null, 8)); cpassword.addEventListener('input', () => validateInput(cpassword, 'Confirm password is required', null, null, password)); mobno.addEventListener('input', () => validateInput(mobno, 'Mobile no is required', validateMobile)); dob.addEventListener('input', () => validateInput(dob, 'DOB is required')); function validateInputs() { let success = true; success = validateInput(username, 'Username is required') && success; success = validateInput(email, 'Email is required', validateEmail) && success; success = validateInput(password, 'Password is required', null, 8) && success; success = validateInput(cpassword, 'Confirm password is required', null, null, password) && success; success = validateInput(mobno, 'Mobile no is required', validateMobile) && success; success = validateInput(dob, 'DOB is required') && success; return success; } function validateInput(element, errorMessage, validationFunction, minLength, compareTo) { const value = element.value.trim(); const inputGroup = element.parentElement; const errorElement = inputGroup.querySelector('.error'); let isValid = true; if (value === '') { isValid = false; } else if (validationFunction && !validationFunction(value)) { isValid = false; } else if (minLength && value.length < minLength) { isValid = false; } else if (compareTo && value !== compareTo.value) { isValid = false; } if (!isValid) { setError(element, errorMessage); } else { setSuccess(element); } return isValid; } function setError(element, message) { const inputGroup = element.parentElement; const errorElement = inputGroup.querySelector('.error'); errorElement.innerText = message; inputGroup.classList.add('error'); inputGroup.classList.remove('success'); } function setSuccess(element) { const inputGroup = element.parentElement; const errorElement = inputGroup.querySelector('.error'); errorElement.innerText = ''; inputGroup.classList.add('success'); inputGroup.classList.remove('error'); } const validateEmail = (email) => { return String(email) .toLowerCase() .match( /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); }; const validateMobile = (mobile) => { return mobile.length === 10 && /^\d+$/.test(mobile); }; 我已经做了一种更好的方法来使用引导程序进行表单验证。你可以看看我的codepen http://codepen.io/abhilashn/pen/bgpGRw var g_UnFocusElementStyle = ""; var g_FocusBackColor = "#FFC"; var g_reEmail = /^[\w\.=-]+\@[\w\.-]+.[a-z]{2,4}$/; var g_reCell = /^\d{10}$/; var g_invalidFields = 0; function initFormElements(sValidElems) { var inputElems = document.getElementsByTagName('textarea'); for(var i = 0; i < inputElems.length; i++) { com_abhi.EVENTS.addEventHandler(inputElems[i], 'focus', highlightFormElement, false); com_abhi.EVENTS.addEventHandler(inputElems[i], 'blur', unHightlightFormElement, false); } /* Add the code for the input elements */ inputElems = document.getElementsByTagName('input'); for(var i = 0; i < inputElems.length; i++) { if(sValidElems.indexOf(inputElems[i].getAttribute('type') != -1)) { com_abhi.EVENTS.addEventHandler(inputElems[i], 'focus', highlightFormElement, false); com_abhi.EVENTS.addEventHandler(inputElems[i], 'blur', unHightlightFormElement, false); } } /* submit handler */ com_abhi.EVENTS.addEventHandler(document.getElementById('form1'), 'submit' , validateAllfields, false); /* Add the default focus handler */ document.getElementsByTagName('input')[0].focus(); /* Add the event handlers for validation */ com_abhi.EVENTS.addEventHandler(document.forms[0].firstName, 'blur', validateFirstName, false); com_abhi.EVENTS.addEventHandler(document.forms[0].email, 'blur', validateEmailAddress, false); com_abhi.EVENTS.addEventHandler(document.forms[0].address, 'blur', validateAddress, false); com_abhi.EVENTS.addEventHandler(document.forms[0].cellPhone, 'blur', validateCellPhone, false); } function highlightFormElement(evt) { var elem = com_abhi.EVENTS.getEventTarget(evt); if(elem != null) { elem.style.backgroundColor = g_FocusBackColor; } } function unHightlightFormElement(evt) { var elem = com_abhi.EVENTS.getEventTarget(evt); if(elem != null) { elem.style.backgroundColor = ""; } } function validateAddress() { var formField = document.getElementById('address'); var ok = (formField.value != null && formField.value.length != 0); var grpEle = document.getElementById('grpAddress'); if(grpEle != null) { if(ok) { grpEle.className = "form-group has-success has-feedback"; document.getElementById('addressIcon').className = "glyphicon glyphicon-ok form-control-feedback"; document.getElementById('addressErrorMsg').innerHTML = ""; } else { grpEle.className = "form-group has-error has-feedback"; document.getElementById('addressIcon').className = "glyphicon glyphicon-remove form-control-feedback"; document.getElementById('addressErrorMsg').innerHTML = "Please enter your address"; } return ok; } } function validateFirstName() { var formField = document.getElementById('firstName'); var ok = (formField.value != null && formField.value.length != 0); var grpEle = document.getElementById('grpfirstName'); if(grpEle != null) { if(ok) { grpEle.className = "form-group has-success has-feedback"; document.getElementById('firstNameIcon').className = "glyphicon glyphicon-ok form-control-feedback"; document.getElementById('firstNameErrorMsg').innerHTML = ""; } else { grpEle.className = "form-group has-error has-feedback"; document.getElementById('firstNameIcon').className = "glyphicon glyphicon-remove form-control-feedback"; document.getElementById('firstNameErrorMsg').innerHTML = "Please enter your first name"; } return ok; } } function validateEmailAddress() { var formField = document.getElementById('email'); var ok = (formField.value.length != 0 && g_reEmail.test(formField.value)); var grpEle = document.getElementById('grpEmail'); if(grpEle != null) { if(ok) { grpEle.className = "form-group has-success has-feedback"; document.getElementById('EmailIcon').className = "glyphicon glyphicon-ok form-control-feedback"; document.getElementById('emailErrorMsg').innerHTML = ""; } else { grpEle.className = "form-group has-error has-feedback"; document.getElementById('EmailIcon').className = "glyphicon glyphicon-remove form-control-feedback"; document.getElementById('emailErrorMsg').innerHTML = "Please enter your valid email id"; } } return ok; } function validateCellPhone() { var formField = document.getElementById('cellPhone'); var ok = (formField.value.length != 0 && g_reCell.test(formField.value)); var grpEle = document.getElementById('grpCellPhone'); if(grpEle != null) { if(ok) { grpEle.className = "form-group has-success has-feedback"; document.getElementById('cellPhoneIcon').className = "glyphicon glyphicon-ok form-control-feedback"; document.getElementById('cellPhoneErrorMsg').innerHTML = ""; } else { grpEle.className = "form-group has-error has-feedback"; document.getElementById('cellPhoneIcon').className = "glyphicon glyphicon-remove form-control-feedback"; document.getElementById('cellPhoneErrorMsg').innerHTML = "Please enter your valid mobile number"; } } return ok; } function validateAllfields(e) { /* Need to do it this way to make sure all the functions execute */ var bOK = validateFirstName(); bOK &= validateEmailAddress(); bOK &= validateCellPhone(); bOK &= validateAddress(); if(!bOK) { alert("The fields that are marked bold and red are required. Please supply valid\n values for these fields before sending."); com_abhi.EVENTS.preventDefault(e); } } com_abhi.EVENTS.addEventHandler(window, "load", function() { initFormElements("text"); }, false); <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <div class="row"> <h1 class="text-center">Interactive form validation using bootstrap</h1> <form id="form1" action="" method="post" name="form1" class="form-horizontal" role="form" style="margin:10px 0 10px 0"> <div id="grpfirstName" class="form-group"> <label for="firstName" class="col-sm-2 control-label"><span class="text-danger">* </span>First Name</label> <div class="col-sm-10"> <input type="text" class="form-control" id="firstName" placeholder="Enter first name"> <span id="firstNameIcon" class=""></span> <div id="firstNameErrorMsg" class="text-danger"></div> </div> </div> <div class="form-group"> <label for="lastName" class="col-sm-2 control-label">Last Name</label> <div class="col-sm-10"> <input type="text" class="form-control" id="lastName" placeholder="Enter last name"> </div> </div> <div id="grpEmail" class="form-group"> <label for="lastName" class="col-sm-2 control-label"><span class="text-danger">* </span>Email </label> <div class="col-sm-10"> <input type="email" class="form-control" id="email" placeholder="Enter email"> <span id="EmailIcon" class=""></span> <div id="emailErrorMsg" class="text-danger"></div> </div> </div> <div id="grpCellPhone" class="form-group"> <label for="lastName" class="col-sm-2 control-label"><span class="text-danger">* </span>Cell Phone </label> <div class="col-sm-10"> <input type="text" class="form-control" id="cellPhone" placeholder="Enter Mobile number"> <span id="cellPhoneIcon" class=""></span> <div id="cellPhoneErrorMsg" class="text-danger"></div> </div> </div> <div class="form-group" id="grpAddress"> <label for="address" class="col-sm-2 control-label"><span class="text-danger">* </span>Address </label> <div class="col-sm-10"> <textarea id="address" class="form-control"></textarea> <span id="addressIcon" class=""></span> <div id="addressErrorMsg" class="text-danger"></div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-success">Save</button> </div> </div> </form> </div> <!-- End of row --> </div> <!-- End of container --> 请检查我的codepen以更好地理解代码。

回答 8 投票 0

Bean 验证 API,可以动态指示验证器忽略 POJO 特定字段上的特定约束注释

我有一个 POJO,其中一些字段用 @NotEmpty 注释: 公共类 SampleFormInputDTO { @不是空的 私有字符串文本区域; 私有 int myInt = 0; @不是空的 私有字符串 myText = &...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.