Validator client verification

xiaoxiao2021-03-06  57

Validator-Rules.xml includes some verifier and priest rules, in addition to the self-order verifier or verification rules, basically do not need to change it. If you want to verify the client, you can write your own ActionForm category and define the properties field you want to verify in Validation.xml. One example is as follows:

Validation.xml code:

< Arg0 key = "logon.usename.displayname" /> Mask ^ [_ a-z0-9 -] (. [_ a-z0-9 -] ) * @ [a-z0-9 -] (. A-Z0-9 -] ) * $

Name attribute indicates which ActionForm we will verify, this name must be defined in struts-config.xml, and our userform includes two attributes Name and Email, Define the properties bar to verify Bit, Depends defines the verifier used, the Required verifier checks if the field is filled out, if not, it will use the message in Application.properties: On the Validation.xml setting, you can define some constants for convenience Used during the setting, such as the regular expression of Mask, for example: validation.xml code: email ^ [_ a-z0-9- ] (. [_ A-Z0-9 -] ) * @ [A-Z0-9 -] (. [A-Z0-9 -] ) * $ < / global> mask $ {email} Defines constants that it will be convenient to manage. If you want to change the Regular Expression in the future, just change the settings in the constant.

Application.properties code: # - validator - errors.invalid = {0} is invalid. ..... # - display - logon.usename.displayName = username logon.email.displayName = Email You can save Struts -blank Application.properties copy, there is a # - validator - the verification message under the Validator will be used for the validator, and the arg0 will replace the text in {0}. If you specify more than two verifiers in Depends, it will be used sequentially. If there is a verification, it will stop verify and make a correlation response, and the Mask verifier is used to verify whether the input field is in line with our setting format. , Use regular expression to set the verification format. Validator's client authentication is to verify using JavaScript. Verification rules are defined in Validator-Rules.xml. If you are interested, you can see how JavaScript is verified, we can use tab To write the necessary JavaScript, an example is as follows:

Login.jsp code: <% @ Taglib URI = "/ tags / struts-bean" prefix = "bean"%> <% @ Taglib URI = "/ tags / struts-html" prefix = "html"%> <% @ Page ContentType = "Text / HTML; Charset = BIG5"%> <bean: Message Key = "Welcome.title" / & g; </ title> <html: Base /> < / head> <body bgcolor = "white"> <html: errors /> <html: form action = "/ loginaction" FOCUS = "name" οnsubmit = "Return ValidateUserform (this)"> Name: <html: Text Property = "name" size = "20" /> <br> Mail: <html: text property = "email" size = "20" /> <br> <html: Submit /> <html: reset /> </ html: form> <html: javascript formName = "userForm" dynamicJavascript = "true" staticJavascript = "false" /> <script language = "Javascript1.1" src = "staticJavascript.jsp" /> </ script> </ body> < /html: html>staticjavaScript.jsp code:</p> <p><% @ page language = "java"%> <% - set document type to javascript (addresses a bug in netscape agent (addresses a bug in netscape accounting to a web resource -%> <% @ Page ContentType = "Application / X-javascript"%></p> <p><% @ Taglib URI = "/ Web-INF / STRUTS-HTML.TLD" prefix = "html"%></p> <p><HTML: JavaScript Dynamicjavascript = "false" staticjavascript = "true" /></p> <p>Struts-config.xml code:</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-84069.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="84069" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.034</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'jA3BuNxlJGOFyTwRLhiJcTDHxrXgw80duKrDTtSJMehMSmQWAeeJUgATbLSiV7sITvgRyAoAFL9mCqzu'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>