jQuery Ketchup Pluginのjquery.ketchup.validations.jsのバグ

なおした。

jQuery Ketchup Plugin には実装済のバリデータがついてくるんですが (jquery.ketchup.validations.js) 、わりとよく使う感じの required にバグがあったのでなおしました。2年放置みたいなのでPull Requestしてませんが、とりあえずメモ。

https://github.com/mustardamus/ketchup-plugin/blob/master/jquery.ketchup.validations.js#L4

var type = el.attr('type').toLowerCase();

このコード、required の1行目にいきなりでてくるんですが、ここの el に入ってる要素って input なのか textbox なのか select なのかわからないです。textbox とか select だった場合って(一般的には)type 属性もってないので、toLowerCase しちゃいけません。なので、

var type;
if(typeof(el.attr('type')) !== 'undefined') {
  type = el.attr('type').toLowerCase();
}

しときました。(textbox で required できなかったのでちょっと困った)