Data Annotation과 Entity Framework를 사용하여 숫자로만 입력 할 수 있는지 확인하는 방법이 있는지 알아 내려고합니다.EF 및 데이터 주석을 사용하는 번호 만 허용하는 입력 필드를 만드는 방법은 무엇입니까?
나는이 번호 클래스를 사용하여 표시 할 다음 코드
[Required]
[DisplayName("Client No")]
[Column("client_no", TypeName = "smallint")]
public virtual Int16 Number { get; set; }
을 사용하고 있습니다. 나는
<input type="number" name="searchClientNo" class="numericOnly" /><br />
다음을 사용하지만, 참가 신청서에 내가 다음 코드
<div class="editor-label">
@Html.Label((ViewData.ModelMetadata.DisplayName??ViewData.ModelMetadata.PropertyName),
new Dictionary<string, object>
{
{ "for", ViewData.ModelMetadata.PropertyName }
})
</div>
<div class="editor-field">
@Html.TextBox("", (object)Model,
new Dictionary<string, object>
{
{ "id", ViewData.ModelMetadata.PropertyName },
{ "name", ViewData.ModelMetadata.PropertyName },
{ "class", "text-box single-line"},
{ "data-bind", "value: " + ViewData.ModelMetadata.PropertyName },
})
@Html.ValidationMessage(ViewData.ModelMetadata.PropertyName,
new Dictionary<string, object>
{
{ "data-valmsg-for", ViewData.ModelMetadata.PropertyName }
})
</div>
로 EditorFor을 만든 사용자 지정을
@Html.EditorFor(m => m.Number, EditorTemplate.TextBox)
를 사용하고 한 곳에서
변경하지 않고이 코드를 어떻게 유지할 수 있을지 궁금하지만 수치 전용 텍스트 상자를 사용하십시오. UIHint를 사용해야합니까?
또는 기존 에디터를 더 똑똑하게 만들 수 있습니까?
이 블로그 게시물 http://robseder.wordpress.com/2012/06/01/uihint-displaytemplates-and-editortemplates-in-mvc/을 발견했지만 이미 사용자 정의 EditorFor를 사용하고 있습니다. EditorTemplate.NumericTextBox라는 새로운 유형을 추가하고 다른 편집기를 추가해야합니까? 이것은 작동하는 것처럼 들리지만, 내일 이것을 시도 할 것입니다 ...
미리 감사드립니다.
사용자 정의 편집기 템플릿~/Views/Shared/EditorTemplates/NumberTemplate.cshtml
쓸 수
안녕 Darin, 이것은 구현을 생각하고 있었지만 특정 EditorFor (내 일반 tetxbox 유형) 내부에서 가능한지 모델 유형에 따라 결정을 내릴 수 있는지 묻고 싶습니다. 나는 현재의 코드를 질문에 추가했다. – Naomi
또한 @Html.TextBox를 사용하여 속성을 제공하지만 대신 를 사용하여 코드가 어떻게 보이는지를 보여줍니다. – Naomi
Darin, 관련 질문이 더 많습니다. 다음을 구현했습니다. @ Html.TextBox ("", ViewData.TemplateInfo.FormattedModelValue, new {type = "number", @class = "numericonly"}) @ * – Naomi