jQuery プラグイン EasyUI 検証ルール validatebox 検証 box_jquery

WBOY
リリース: 2016-05-16 15:29:09
オリジナル
1974 人が閲覧しました

Web フロントエンド データ検証コンポーネント

Web プロジェクトにおけるクライアントとサーバー間の対話は、フォーム フォームから切り離すことができません。フォーム フォームで最も一般的に使用される要素は、input タグに最初に使用する必要があります。箱!

入力テキストボックスはユーザーが任意に入力できるものであり、規定を満たしていないデータを入力してしまうことは避けられません。サーバーに送信して検証すると、ユーザー エクスペリエンスが大幅に低下します。

フロントエンド検証用の既製のコンポーネントは数多くありますが、その中で便利なものの 1 つは、EasyUI の validatebox プラグインです。ただし、validatebox がデフォルトで提供する検証ルールは比較的制限されている場合があります。独自の検証ルールを追加する必要があります。

rules: {
  email:{
  validator: function(value){
   return ...?$/i.test(value);
  },
  message: 'Please enter a valid email address.'
  },
  url: {
  validator: function(value){
   return ...?$/i.test(value);
  },
  message: 'Please enter a valid URL.'
  },
  length: {
  validator: function(value, param){
   var len = $.trim(value).length;
   return len >= param[0] && len <= param[1]
  },
  message: 'Please enter a value between {0} and {1}.'
  },
  remote: {
  validator: function(value, param){
   var data = {};
   data[param[1]] = value;
   var response = $.ajax({
   url:param[0],
   dataType:'json',
   data:data,
   async:false,
   cache:false,
   type:'post'
   }).responseText;
   return response == 'true';
  },
  message: 'Please fix this field.'
  }
 },
ログイン後にコピー

カスタマイズされた検証ルール

新しい検証ルールを追加する場合、EasyUI のソース ファイルには追加しないことが最善です。1 つ目は、誤操作による EasyUi ソース コードの汚染を避けるためです。さらに重要なのは、将来のコンポーネントのアップグレードが簡単になることです。 。したがって、最も合理的な方法は、独自の拡張ファイルを別途作成することです。

例: 元のルールに基づいて、別のファイル easyui-extend-rcm.js に次の 3 つのチェックを追加しました。

(function($) {
 /**
 * jQuery EasyUI 1.4 --- 功能扩展
 * 
 * Copyright (c) 2009-2015 RCM
 *
 * 新增 validatebox 校验规则
 *
 */
 $.extend($.fn.validatebox.defaults.rules, {
 idcard: {
  validator: function(value, param) {
  return idCardNoUtil.checkIdCardNo(value);
  },
  message: '请输入正确的身份证号码'
 },
 checkNum: {
  validator: function(value, param) {
  return /^([0-9]+)$/.test(value);
  },
  message: '请输入整数'
 },
 checkFloat: {
  validator: function(value, param) {
  return /^[+|-]&#63;([0-9]+\.[0-9]+)|[0-9]+$/.test(value);
  },
  message: '请输入合法数字'
 }
 });
})(jQuery);
ログイン後にコピー

カスタムルールの使用方法
EasyUI ファイルの導入に加えて、EasyUI ファイルの後の順序で独自の拡張ファイルも導入する必要があります。

<span style="font-size:18px;"><script src="#WEBROOT</p>
<div class="jb51code">
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">
()/static/jseasyui/jquery.easyui.min.js" type="text/javascript" ></script>
<script src="#WEBROOT()/static/js/comm/easyui-extend-rcm.js" type="text/javascript"></script></span>

然后在Html中如下引用即可,一定要加Class 和 data-options两个属性:

<pre name="code" class="<a href=" http:="" www.jb51.net="" kf="" qianduan="" css="" "="" target="_blank">html"><span style="font-size:18px;"><div id="dlg" class="easyui-dialog" style="width:300px; height:300px; vertical-align: middle;" closed="true" title="'添加中药'" buttons="#dlg-buttons">
 <div id="editForm" style="background:'';padding:20px;width:200px;height:200px; display:none;">
 <form id="form" method="post">
  <div style="padding-left:16px;padding-top:20px;" hidden="true">
  <input type="text" name="dlg_drugId" id="dlg_drugId" hidden="true">
  </div>
  <div style="padding-top:10px;padding-left:40px;">
  <label for="dlg_name">药物:</label>
  <input type="text" name="dlg_name" id="dlg_name" class="easyui-validatebox" readonly="readonly">
  </div>
  <div style="padding-top:10px;padding-left:40px;">
  <label for="dlg_price">单价:</label>
  <input type="text" name="dlg_price" id="dlg_price" <span="" style="color:#ff0000;">class="easyui-validatebox" data-options="required:true,validType:'checkFloat'" />
  </div>
  <div style="padding-top:10px;padding-left:40px;">
  <label for="dlg_purchase_price">进价:</label>
  <input type="text" name="dlg_purchase_price" id="dlg_purchase_price" <span="" style="color:#ff0000;">class="easyui-validatebox" data-options="validType:'checkFloat'" />
  </div>
  <div style="padding-top:10px;padding-left:40px;">
  <label for="dlg_stock">库存:</label>
  <input type="text" name="dlg_stock" id="dlg_stock" <span="" style="color:#ff0000;">class="easyui-validatebox" data-options="validType:'checkNum'" />
  </div>
  <div style="padding-top:10px;padding-left:40px;" align="center">
  <input type="button" value="保存" onclick="saveTCMDrugPublicMapped()" class="bt_style">
  </div>
 </form>
 </div>
</div></span>



数据校验显示效果

效果如下图所以:


ログイン後にコピー

この記事を読んで、jQuery EasyUI validatebox 検証ルールについてさらに詳しく学びたいと思っています。

関連ラベル:
ソース:php.cn
前の記事:Javascript で C 言語の古典的なプログラムを実装する 質問_JavaScript スキル 次の記事:MVC Ajax Helper または Jquery が部分的な views_jquery を非同期的にロードする
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!