0

私は Mesosphere を使用しており、equalsField を検証するカスタム ルールを作成したいと考えています。

Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue){
  //var ruleValue = $('#'+ruleValue).val();
  //var ruleValue = document.getElementById(ruleValue).value;
  return fieldValue === ruleValue;
});

しかし、サーバー側でアクセスできないため、jquery $またはドキュメントを使用できません(これらはクライアント側でのみ機能します)

4

1 に答える 1

0

したがって、あるフィールドが別のフィールドと等しいことを確認する必要があるようです。

実際にメソスフィアでルールを検証する場合、ルールには fieldValue、ruleValue、fieldName、formFieldsObject、fields の 5 つのパラメーターが渡されます。formFieldsObject は、各入力の名前をキーとして、現在の値をキー値として、フォームからの生の検証されていないデータを含むオブジェクトであるため、次のように新しいルールを作成できることを意味します。

Mesosphere.registerRule("equalsField", function(fieldValue, ruleValue, fieldName, formFieldsObject, fields){
  return fieldValue === formFieldsObject[ruleValue];
});

次に、ルールを設定するときに、現在のフィールドが等しい必要があるフィールドの名前を渡します。これで準備完了です。

于 2014-02-12T04:50:55.437 に答える