您尝试执行的 cfinput 验证是客户端等效于
<cfif len(trim(string)) gt 0>
(编辑:这并不意味着您应该完全依赖客户端验证。客户端验证更多的是帮助访问者的功能。服务器端验证仍然很重要。)
我不得不说这是非常弱的验证。包含至少 1 个非空白字符的任何内容都将通过测试。人们将能够拥有像“!”这样的用户名。这不是幻想,但这只是一些信息。
在您提供的 jQuery Validate 链接上,它们显示了一个示例表单(以及一个相同表单的链接)
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<legend>Please provide your name, email address (won't be published) and a comment</legend>
<p>
<label for="cname">Name (required, at least 2 characters)</label>
<input id="cname" name="name" minlength="2" type="text" required>
</p>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required>
</p>
<p>
<label for="curl">URL (optional)</label>
<input id="curl" type="url" name="url">
</p>
<p>
<label for="ccomment">Your comment (required)</label>
<textarea id="ccomment" name="comment" required></textarea>
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
<script>
$("#commentForm").validate();
</script>
这个非常基本的例子展示了 Validate 的安装有多简单,以及一个简单的格式
<input name="ele" type="text" required>
与您尝试的验证级别完全相同。因此,首先,您几乎可以复制和粘贴代码。(除了您可以提出的不同要求之外,设置 minlength 需要一定数量的字符,并且要求至少一个不是空格)。
jQuery Validate 可以变得相当广泛,但基本上安装起来非常容易,一旦你熟悉了,就可以根据需要制作自定义类
最后一点,不要忽视对 CFForm 元素的蔑视。看起来其他人似乎无视您的问题,但事实并非如此。
老实说,它们是在互联网生活中的不同时期开始引入的,但与之合作总是有点挑剔。在许多人看来,对它们的扩展并没有很好地完成,并且经常激怒这些缺陷。
能够说出来是非常有吸引力的,<cfinput...required>
但是标签会变得很麻烦,而且您不容易对它们进行您可能想要的精细控制。它们是拐杖,而且是生锈的拐杖。
您可以查看CFUI The Right Way @ Github或这个托管版本,以获得一些很好的见解和示例。