0

だから私は次のコードをjavascriptで動作させることができます

validateSearchForm:=>
    $(@el).find("#form").validate({
      rules:{
        startDateInputBox:{
          dateISO:true,
          endDateInputBox:{lessThan : "#licenseStart"}
        },
        endDateInputBox:{
          dateISO:true
        }
        searchPurposeBox:"required"


      }



      });

  $.validator.addMethod "lessThan",(value,element)-> 
    //do some stuff
  ,"some comment"

しかし、lessThan 関数はコーヒーでは未定義のままです。これは何らかの構文エラーであることは間違いありません - 誰でも助けてくれますか?

4

2 に答える 2

0

問題が解決するかどうかはわかりませんが、オブジェクトを定義せずに定義してみてください{}:

rules:
    startDateInputBox:
        dateISO: true,
        endDateInputBox:
             lessThan: "#licenseStart"
    endDateInputBox:
         dateISO: true
    searchPurposeBox: "required"
于 2012-08-28T21:24:51.383 に答える
0

コード構造は次のようになります。

validateSearchForm: =>
    $(@el).find('#form').validate({ ... })
    $.validator.addMethod "lessThan", (value, element) -> 
        #...
    , "some comment"

そのため、フォームを検証しようとした$.validator.addMethod に呼び出しています。それらを使用する前に、追加の検証メソッドをすべて追加する必要があります。おそらく、フォームを検証するメソッドの外にそれらを追加する必要があります。このようなもの:

# Somewhere in your global application set up...
$.validator.addMethod "lessThan", (value, element) -> 
    #...
, "some comment"

# And then elsewhere...
class Whatever
    #...
    validateSearchForm: =>
        $(@el).find('#form').validate({ ... })

CoffeeScript のインデントには細心の注意を払う必要があります。インデントはコードの構造の半分を提供するため、正しく、一貫性がなければなりません。

于 2012-08-28T21:50:18.973 に答える