新しいアイテムを作成するために、次のビューを作成しました。 Iveは少し検証を作成しようとしました。ユーザーがフィールドを空白のままにしておくと、検証メッセージが生成されます。ただし、ユーザーがフィールドを空白のままにした場合、アプリケーションは、Model.Designer.csファイルの_headline = structuralObject.SetValidValue(value, false)
行でクラッシュします。理由は次のとおりです。検証によるアプリケーションのクラッシュ - 'このプロパティはnull値に設定できません'
このプロパティはNULL値に設定できません。
@using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>News Details</legend> <br /> Posted Date: <div class="editor-field"> @Html.EditorFor(model => model.posted) @Html.ValidationMessageFor(model => model.posted) </div> <br /> Headline Title: <div class="editor-field"> @Html.EditorFor(model => model.headline) @Html.ValidationMessageFor(model => model.headline) </div> <br />
:私のビューを作成し、以下のように
[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] [DataMemberAttribute()] public global::System.String headline { get { return _headline; } set { OnheadlineChanging(value); ReportPropertyChanging("headline"); _headline = StructuralObject.SetValidValue(value, false); ReportPropertyChanged("headline"); OnheadlineChanged(); } }
コードのセクションこれが適用される:私のModel.Designer.csの一部のファイルが
以下は私のAccountModels.csファイルで、Viewの検証を入力した場所です:
[MetadataType(typeof(NewsValidation))]
public partial class News
{
}
public class NewsValidation
{
[Required(ErrorMessage = "Posted date is required")]
public DateTime posted { get; set; }
[Required(ErrorMessage = "Headline is required")]
[Display(Name = "Headline")]
public string headline { get; set; }
[Required(ErrorMessage = "Story body is required")]
public string story { get; set; }
}
私のデータベースではNull値が許可されていると言われましたが、それ以来Nullを許可しない新しいデータベースを作成しました。私のアプリケーションはまだクラッシュし、どこから起動するのか分からない。奇妙なことがあります。クラッシュすると再生が続行され、検証が表示されます。したがって、検証は機能しているように見えますが、何らかの理由で事前にアプリケーションがクラッシュすることがあります。
誰でもサポートできますか?
MVCについてよく分かりませんが、「IsNullable = false」の部分が問題を引き起こしてはいけませんか? – PedroC88
私はそれを試みますが、Model.Designer.csファイルは自動的に生成されます。ありがとうございます:-) – Blob