2015-04-06 47 views
0

是否可以驗證輸入是圖像url?semantic-ui表單驗證:圖像url

我嘗試以下簡單方法:

validations.img = { 
     identifier: 'img', 
     rules: [{ 
     type: 'url', 
     prompt: 'not a valid URL' 
     }, 
     { 
     type: "contains[.png, .jpg, .jpeg, .gif, .tiff, .tif]", 
     prompt: 'not image' 
     }] 
    }; 

但它看起來像含有做AND運算。我可以讓它做一個OR嗎?

回答

2

semantic-ui允許您添加您的上$.fn.form.settings.rules添加功能,因此,例如,如果你想檢查string包含您的數組元素的一個[.png, .jpg, .jpeg, .gif, .tiff, .tif]您可以添加新的功能,例如containsInArray如下驗證規則:

// function to check if the text contains an element from the array 
$.fn.form.settings.rules.containsInArray = function(text,csv){ 
    var array = csv.split(','); // you're separating the string by commas 
    var isContains = false; // return value 
    // for each element check it usign contains function 
    $.each(array,function(index,elem){ 
     if($.fn.form.settings.rules.contains(text,$.trim(elem))){ 
      // if condition are meet set the result as true 
      // and breaks the loop 
      isContains = true; 
      return false; 
     } 
    }); 
    console.log(text + " " + isContains); 
    return isContains; 
}; 

可能該功能可能會更有效率,您可以嘗試改善它,但它適用於您的情況。

然後你必須改變規則,使用type: "containsInArray[.png, .jpg, .jpeg, .gif, .tiff, .tif]"而不是type: "contains[.png, .jpg, .jpeg, .gif, .tiff, .tif]"

看到這個工作jsfiddle

+0

完美,謝謝! – mikestaub

+0

@mikestaub不客氣':)' – albciff