jsフィールド検証ツール(一括可能)

2427 ワード

フロントエンドチェックでは、入力ボックスごとにチェックが必要で、クリックイベントを1つずつ書く必要があるので、このコードを統一方法に抽出し、パラメータはjson、フォーマットは
バッチチェツク
フィールドid:対応内容
eg.
var param = {
    "linkName":"     ",
    "certificateCode":"       ",
    "linkMobile":"    ",
    "linkPhone":"    ",
    "linkEmail":"    "
}

一括検査の原理は、検査が必要なコントロールごとに同じイベントを設定し、同じ応答をすることですか?そのため、使用時にプログラムの各フィールドが表す内容を教えて、ヒントとして使用する必要があります
/**
 *         ,      
 * @param param json
 */
var batchBlurAndVaildIsNotNull = function (param) {
    var ids = "";
    for (var key in param) {
        ids += "#" + key + ",";
    }
    ids = ids.substr(0, ids.length - 1);
    $(ids).blur(function () {
        $(this).next("p").remove();
        var fieldVal = $.trim($(this).val());
        if (!!!fieldVal) {
            $(this).parent().append("

" + param[$(this).attr("id")] + "

"); } }); }

どくりつチェツク
idとnameが入力され、個別のフィールドを検証できます.
var vaildFieldIsNotNull = function (id, fieldName) {
    $("#" + id).next("p").remove();
    var isNotNull = true;
    var fieldVal = $.trim($("#" + id).val());
    if (!!!fieldVal) {
        $("#" + id).parent().append("

" + fieldName + "

"); isNotNull = false; } return isNotNull; }

radioチェック
radioの取得値方式は一般のinputコントロールと一定の違いがあり、nameで取得するので、異なる方法が必要です
/**
 *   Radio    。tip:name         \\  .
 * @param name input name
 * @param fieldName    
 * @returns {boolean}
 */
var vaildRadioIsNotNull = function (name, fieldName) {
    $("input[name='" + name + "']").next("p").remove();
    var isNotNull = true;
    var fieldVal = $.trim($("input[name='" + name + "']").val());
    if (!!!fieldVal) {
        $("input[name='" + name + "']").parent().append("

" + fieldName + "

"); isNotNull = false; } return isNotNull; }

radioロット
var vaildRadiosIsNotNull = function (param) {
    var isNotNull = true;
    for (var key in param) {
        isNotNull = vaildRadioIsNotNull(key, param[key]);
    }
    return isNotNull;
}