2017-07-25 9 views
0

MVC Webアプリケーションでjquery.maskedinput.min.jsと作業しており、電話番号マスクを削除するのに苦労しています。jquery.maskedinputのアンインストール方法DB挿入の電話番号

のJs: -

@section Scripts { 
@Scripts.Render("~/bundles/jqueryval") 
<script type="text/javascript" src="/Scripts/jquery-1.8.3.min.js" charset="utf-8"></script> 
<script type="text/javascript" src="/Scripts/jquery.maskedinput.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#phone").mask("(999) 999-9999"); 
    }); 
    $(function unMaskFunc() { //This doesn't work... 
     $("#phone").unmask(); 
    }); 
</script> 
} 

次私は私の形で私の電話番号フィールドを持っている:

<div class="form-group"> 
     @Html.LabelFor(model => model.PhoneNo, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.PhoneNo, new { htmlAttributes = new { @class = "form-control", @id = "phone" } }) 
      @Html.ValidationMessageFor(model => model.PhoneNo, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

そして最後にクリックでアンマスク関数を呼び出すことになってませんがされて送信ボタン仕事:

<div class="form-group"> 
     <div class="col-md-offset-2 col-md-10"> 
      <input type="submit" value="Create" class="btn btn-default" onclick="unMaskFunc()" /> 
     </div> 
    </div> 

これは、マスクを使用してSQLデータベースに挿入され、数字だけが必要です。どこにjsを配置しても、マスクをテキストボックスにレンダリングしてマスクを挿入するか、マスクが検証でレンダリングされません。私は本当にmin.jsファイルからunmask関数を使いたいと思っています!

私はまだ新しいので、私は何かが明らかでないと思うので、素晴らしいです。ありがとう!

+0

サーバ側でマスクが削除されても問題ありませんか? –

+0

プロジェクトがmvcの場合、なぜ 'RegularExpression'のようなデータアノテーションを使用しないのですか? – Hadee

+0

@Hadee私はそれを試みましたが、それはsubmitをクリックした後にのみ検証されます。私は最初に間違った番号を防ぐ何かが必要です。 – Alex

答えて

1

マスクされていない出力をマスクなしでDBのvarcharに変換する場合は、サーバー側でこれを行うことができます。

if (model.PhoneNo != null) 
    model.PhoneNo = new string(model.PhoneNo.Where(char.IsDigit).ToArray()); 

これは、DBに挿入できる数字だけの文字列を与えます。

関連する問題