1

フォームを送信したいのですが、ボタンをクリックできません。いくつかの検索の後、これは ASP.NET MVC が必須フィールドに対して持っている jquery 検証によるものであることがわかりました。いくつかの奇妙な理由で、ASP NET は、隠しフィールド "UserId" が必要であると考えています。これは実際には真実ではありません。ここで私のモデルの一部を参照してください:

   public class ResetPasswordModel
   {

        [.....]

     public Guid UserId
     {
       get;
       set;
     }

   }

そしてページソースはこれを示しています:

<input data-val="true" data-val-required="The UserId field is required." id="UserId" name="UserId" type="hidden" value="" />

何か案は?!?

4

5 に答える 5

1

null 許容型ではないということは、必須であることを意味します。定義を Guid に変更しますか? (ヌル可能にするために疑問符を含めます)または、それを持たないビューモデルを作成することをお勧めします。

于 2012-01-12T15:29:53.093 に答える
1

null許容ではないため、デフォルトでGuidが必要であると思います。通常、GUID は主キーであるため、NULL 可能にするのは問題があります。GUID ToString() をビューで使用できるように変換してから、コントローラーまたはモデルで使用する前に Guid に戻してください。これを行うには、ViewModel を作成する必要がある場合があります。

于 2012-01-12T16:56:56.383 に答える
0

おそらくKey、UserIdプロパティの上に属性があり、これは必須であることを意味します

于 2012-01-12T15:26:41.560 に答える
0

隠しフィールドを無視するように jQuery バリデーターをセットアップします。そのようです:

jQuery Validateは、スタイルのある要素を無視します

于 2012-01-12T15:24:55.650 に答える
0

MetaDataフィールドを必須としてマークした別の部分クラスがありませんか?

このようなもの:

class UserResetPasswordModelMetaData
{
    [Required(ErrorMessage = "The UserId field is required.")]
    public Guid UserId { get; set; }
}

プロジェクトで を検索しますstring "The UserId field is required"。きっとどこかにあると思います。

また、ID ではない場合、パスワードをリセットしようとしているユーザーをどのように識別しますか?

于 2012-01-12T15:22:48.103 に答える