ASP.NET web アプリケーションでの入力検証に関して質問です
ASP.NET web アプリケーションでの入力検証に関して質問です
当方.NET、オブジェクト指向言語初心者です
検討違いなことを質問しているかもしれませんが
回答いただけたら幸いです
以下を使用しています
visual studio 2008
.NET Framework 3.5
C#
新規プロジェクト作成時に
ASP.NET web アプリケーションを選択し、
(ASP.NET MVC等ではなく)
TextBox
Button
を配置し
Buttonを押下した時に
TextBoxに何も入力されていなかった場合
エラーメッセージを表示するような入力検証を
System.ComponentModel.DataAnnotations
を用いて行いたいと考えています
(RequiredFieldValidatorではなく)
Q1
新規プロジェクト作成時にASP.NET web アプリケーションを選択した場合
System.ComponentModel.DataAnnotations
を用いて入力検証はおこなえるのでしょうか?
(webで検索したところASP.NET MVCやSilverlightのサンプルはあったのですが・・・)
Q2
Q1がYESの場合
具体的にはどう実装すればよいのでしょうか?
以下にソースを記載します
■Defaoult.Aspx
<%@ Page Title="ホーム ページ" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</asp:Content>
■Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel.DataAnnotations; //←※
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
}
}
}
※
参照の追加で
System.ComponentModel.DataAnnotations
を追加して
usingで定義するところまでは検討がつきました
以上、宜しくお願い致します
お礼
ご教示いただいたサイト、書籍その他を勉強して以下のようなことが分かりました。 ・ViewとControl (1)MVCではContorllerのAction毎にViewが存在する。 (2)(1)のViewは Views/Controller名/Actrion名.aspx Views/Controller名/Actrion名.apcx Views/Shared/Actrion名.aspx Views/Shared/Actrion名.ascx の順番でみにいく。 (3)(2)のデフォルト動作はGlobal.asax.cs内のroute.MapRoute()あたりで定義されている。 (4)aspxファイルは(1)(2)(3)の一連の流れにあるスクリプトファイルであり、従来型asp.netのaspxファイルみたくviewやcontrollerを兼ね備えた絶対的存在ではない。ViewエンジンもRazorその他に変更できる。 (5)上記(1)から(4)より、 従来型asp.net→aspxファイルにかなり依存して動作 ASP.net MVC→ControllerとView(とModel)が協調してフォルダ単位で動作 ・Model ある程度、手作業的にデータベースと紐付けする必要がある。 書籍では「ASP.NET MVC 実践プログラミング」の「第二章 ASP.NET MVCの基本」、「第三章モデル開発の基礎とScaffolding機能」、「第七章 ルーティング」が参考になりました。