មេរៀន VC#.NET-Performing Validation
ក្នុងជំពូកនេះនឹងរៀនពីរបៀបធ្វើ:
- ពិនិត្យពីការបញ្ចូលព៌តមានដោយ user មួយកំណត់ច្បាស់ថាវាមិន បំពានកម្មវិធីប្រើប្រាស់ឬតួនាទី business ។
-ប្រើ CausesValidation property និង validation eventនៃ forms និង control។
- ប្រើ ErrorProvider control សំរាប់រាយការណ៍ប្រាប់ពី error message។
1. Validating Data
គំនិតនៃការបញ្ចូល input validation គឺជាការងាយប៉ុន្តែវា ប៉ុន្តែវាមិន មែនជាការងាយស្រួលដើម្បីអនុវត្ត លក្ខណ:ពិសេសនៃ validation ជាប់ទាក់
ទងនិងទិន្នន័យ data ដែលអ្នកប្រើប្រាស់បានបញ្ចូលទៅក្នុងពីរឬច្រើន control ដែលស្ថិតនៅក្រោមតួនាទី business អាចទំនាក់ទំនងត្រង់ផ្ទាល់ ។
2. ឧទាហរណ៍ពី Customer Maintenance
អ្នកបានស្នើរទាមទារដើម្បីសង់ build កម្មវិធីប្រើប្រាស់ Customer Maintenance មួយ ។ ផ្នែកនៃកម្មវិធីប្រើប្រាស់ត្រូវការដើម្បីបញ្ចូលសារ:សំខាន់ ពិស្តារនៃ customer មួយដែលរួមមានចំណងជើង ឈ្មោះ និងភេទ ។ អ្នកសំរេចចិត្តដើម្បីបង្កើត form ដូចដែលបង្ហាញខាងក្រោមនេះ ។
ឧទាហរណ៍នេះគឺជា Multiple Document Interface (MDI) កម្មវិធីប្រើប្រាស់ដែលមានរួចស្រេចនៃ frame មួយកន្លែងនៃ forms ផ្សេងទៀត ដែលអាចមើលឃើញ ។
សំដែង Validation ជាមួយ Sledge Hammer ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងពិនិត្យកម្មវិធីប្រើប្រាស់ Customer Maintenance ហើយរត់ដំណើរការវាដើម្បីមើលភាពងាយស្រួល អ្នកអាចទទួល កំហុស validation ។
ពិនិត្យមើលកម្មវិធី
1. បើក CustomerDetails project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails folder ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ចុចពីរដងលើ double-click CustomerForm.cs ដើម្បីមើលពិស្តារ Customer Detail form ក្នុង Design View។
3. ចុចលើប្រអប់ Title list box នៅលើ form រួចចុចលើ Items property ក្នុងសន្លឹក Properties ។
អ្នកអាចមើលពីក្នុងការប្រមូលផ្តុំដែលមានផ្ទុក list box គឺមានបួន titles: Mr, Mrs, Miss និង Ms ។ ចុចលើ Cancel ដើម្បីបិទសន្លឹក String Collection Editor ។
4. ពិនិត្យមើលប្រអប់ Gender group box និងប៊ូតុង radio ។ ក្នុង
ប្រអប់ group box ផ្ទុកប៊ូតុង radio ដែលហៅថា Male និង Female ។
មានការអនុវត្តន៍នៃ Validating event សំរាប់ Title list box និងប្រអប់ Gender group box ។ វាទាំងពីរដែលហៅថា checkTitleAndGender method រួចហើយបង្កើត Cancel property នៃ CancelEventArgs parameter គឺជា true ប្រសិនបើ checkTitleAndGender method ត្រឡប់ទៅ false:
5. មើលក្នុង checkTitleAndGender method ដាក់ភ្លាមៗ ទៅក្នុង event methods:
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
MessageBox.Show(“If the title is Mr the gender must be male”,
“Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
MessageBox.Show(“If the title is Mrs, Miss, or Ms
the gender must be female”, “Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
// Title and gender match
return true;
}
បន្ថែម ErrorProvider control
1. ត្រឡប់ទៅក្នុង CustomerForm ក្នុងសន្លឹក Design View ។
2. ពីក្នុងប្រអប់ Toolbox ចុចលើ ErrorProvider control រួច drop វា នៅលើ form ។ វាបង្ហាញក្រោម form ។
3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties ប្តូរ Change ឈ្មោះ (Name) property ទៅក្នុង errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle property គឺបង្កើតក្នុង BlinkIfDifferentError ។
4. នៅលើ CustomerForm ជ្រើសរើសក្នុងប្រអប់ Title list box ។ ប្រសិនបើអ្នកមើលក្នុងសន្លឹក Properties អ្នកនឹងរកឃើញ property ថ្មីដែលហៅថា Error នៅលើ errorProvider ។
5. ប្តូរ Code និងសន្លឹក Text Editor សំរាប់ CustomerForm ។ ទីតាំង checkTitleAndGender method និងប្តូរ statements ដែលហៅថា MessageBox ។ បង្ហាញជាមួយ errorProvider.SetError method បង្ហាញ ដូចខាងក្រោមនេះ:
private void titleValidating(object sender,
CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
private void genderValidating(object sender, CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
តែស ErrorProvider control
1. Compile និងរត់ដំណើរការ (បញ្ចប់អថេរក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails Complete folder នៅក្នុង My Documents folder របស់អ្នក ។
2. កាលណាកម្មវិធីអនុវត្តន៍ចាប់ផ្តើមចុចលើប៊ូតុង New Customer នៅលើ toolbar Customer មើលពិស្តារ form ។
3. ជ្រើសរើស Mrs ក្នុងប្រអប់ Title list box រួចត្រួតពិនិត្យមើលផ្ទៀង ផ្ទាត់ឡើងវិញប៊ូតុង Male radio ត្រូវបានជ្រើសរើស ។
4. ចុចលើប៊ូតុង Save Customer លើ toolbar ។ message បង្ហាញ ក្នុង status bar ដែលបញ្ជាក់ថា save failed និង error icons ដែលត្រូវបានបង្ហាញឡើងបន្ទាប់ពី controls គឺជា error ។ ប្រសិនបើអ្នក ចង្អុល mouse លើ error icons នីមួយៗអ្នកឃើញ error message។
5. ជ្រើសរើសប៊ូតុង Female gender radio រួចចុចលើប៊ូតុង Save ក្នុង toolbar ម្តងទៀត ។
6. បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់ ។
បន្ថែម ErrorProvider control
4. សរសេរ Code និង Text Editor សំរាប់ CustomerForm
// Cross check the gender and the title to make sure they correspond
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
errorProvider.SetError(gender, “If the title is Mr ” +
“the gender must be male”);
errorProvider.SetError(title, “If the gender is ” +
“female the title must be Mrs, Miss, or Ms”);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
errorProvider.SetError(gender, “If the title is Mrs, ” +
“Miss, or Ms the gender must be female”);
errorProvider.SetError(title, “If the gender is male ” +
“the title must be Mr”);
return false;
}
}
// Title and gender match – clear any errors
errorProvider.SetError(gender, “”);
errorProvider.SetError(title, “”);
return true;
}
បង្កើត ErrorProvider control
- ពិនិត្យពីការបញ្ចូលព៌តមានដោយ user មួយកំណត់ច្បាស់ថាវាមិន បំពានកម្មវិធីប្រើប្រាស់ឬតួនាទី business ។
-ប្រើ CausesValidation property និង validation eventនៃ forms និង control។
- ប្រើ ErrorProvider control សំរាប់រាយការណ៍ប្រាប់ពី error message។
1. Validating Data
គំនិតនៃការបញ្ចូល input validation គឺជាការងាយប៉ុន្តែវា ប៉ុន្តែវាមិន មែនជាការងាយស្រួលដើម្បីអនុវត្ត លក្ខណ:ពិសេសនៃ validation ជាប់ទាក់
ទងនិងទិន្នន័យ data ដែលអ្នកប្រើប្រាស់បានបញ្ចូលទៅក្នុងពីរឬច្រើន control ដែលស្ថិតនៅក្រោមតួនាទី business អាចទំនាក់ទំនងត្រង់ផ្ទាល់ ។
2. ឧទាហរណ៍ពី Customer Maintenance
អ្នកបានស្នើរទាមទារដើម្បីសង់ build កម្មវិធីប្រើប្រាស់ Customer Maintenance មួយ ។ ផ្នែកនៃកម្មវិធីប្រើប្រាស់ត្រូវការដើម្បីបញ្ចូលសារ:សំខាន់ ពិស្តារនៃ customer មួយដែលរួមមានចំណងជើង ឈ្មោះ និងភេទ ។ អ្នកសំរេចចិត្តដើម្បីបង្កើត form ដូចដែលបង្ហាញខាងក្រោមនេះ ។
ឧទាហរណ៍នេះគឺជា Multiple Document Interface (MDI) កម្មវិធីប្រើប្រាស់ដែលមានរួចស្រេចនៃ frame មួយកន្លែងនៃ forms ផ្សេងទៀត ដែលអាចមើលឃើញ ។
សំដែង Validation ជាមួយ Sledge Hammer ក្នុងលំហាត់ខាងក្រោមនេះ អ្នកនឹងពិនិត្យកម្មវិធីប្រើប្រាស់ Customer Maintenance ហើយរត់ដំណើរការវាដើម្បីមើលភាពងាយស្រួល អ្នកអាចទទួល កំហុស validation ។
ពិនិត្យមើលកម្មវិធី
1. បើក CustomerDetails project ដែលមានទីតាំងក្នុង\Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails folder ក្នុង My Documents folder របស់អ្នក ។
2. ក្នុង Solution Explorer ចុចពីរដងលើ double-click CustomerForm.cs ដើម្បីមើលពិស្តារ Customer Detail form ក្នុង Design View។
3. ចុចលើប្រអប់ Title list box នៅលើ form រួចចុចលើ Items property ក្នុងសន្លឹក Properties ។
អ្នកអាចមើលពីក្នុងការប្រមូលផ្តុំដែលមានផ្ទុក list box គឺមានបួន titles: Mr, Mrs, Miss និង Ms ។ ចុចលើ Cancel ដើម្បីបិទសន្លឹក String Collection Editor ។
4. ពិនិត្យមើលប្រអប់ Gender group box និងប៊ូតុង radio ។ ក្នុង
ប្រអប់ group box ផ្ទុកប៊ូតុង radio ដែលហៅថា Male និង Female ។
មានការអនុវត្តន៍នៃ Validating event សំរាប់ Title list box និងប្រអប់ Gender group box ។ វាទាំងពីរដែលហៅថា checkTitleAndGender method រួចហើយបង្កើត Cancel property នៃ CancelEventArgs parameter គឺជា true ប្រសិនបើ checkTitleAndGender method ត្រឡប់ទៅ false:
5. មើលក្នុង checkTitleAndGender method ដាក់ភ្លាមៗ ទៅក្នុង event methods:
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
MessageBox.Show(“If the title is Mr the gender must be male”,
“Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
MessageBox.Show(“If the title is Mrs, Miss, or Ms
the gender must be female”, “Error”,
MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
// Title and gender match
return true;
}
បន្ថែម ErrorProvider control
1. ត្រឡប់ទៅក្នុង CustomerForm ក្នុងសន្លឹក Design View ។
2. ពីក្នុងប្រអប់ Toolbox ចុចលើ ErrorProvider control រួច drop វា នៅលើ form ។ វាបង្ហាញក្រោម form ។
3. ចុចលើ errorProvider1 control រួចហើយជ្រើសរើស Properties ប្តូរ Change ឈ្មោះ (Name) property ទៅក្នុង errorProvider និងផ្ទៀងផ្ទាត់ BlinkStyle property គឺបង្កើតក្នុង BlinkIfDifferentError ។
4. នៅលើ CustomerForm ជ្រើសរើសក្នុងប្រអប់ Title list box ។ ប្រសិនបើអ្នកមើលក្នុងសន្លឹក Properties អ្នកនឹងរកឃើញ property ថ្មីដែលហៅថា Error នៅលើ errorProvider ។
5. ប្តូរ Code និងសន្លឹក Text Editor សំរាប់ CustomerForm ។ ទីតាំង checkTitleAndGender method និងប្តូរ statements ដែលហៅថា MessageBox ។ បង្ហាញជាមួយ errorProvider.SetError method បង្ហាញ ដូចខាងក្រោមនេះ:
private void titleValidating(object sender,
CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
private void genderValidating(object sender, CancelEventArgs e)
{
if (!checkTitleAndGender())
{
e.Cancel = true;
}
}
តែស ErrorProvider control
1. Compile និងរត់ដំណើរការ (បញ្ចប់អថេរក្នុង \Microsoft Press\Visual C# Step By Step\Chapter 16\CustomerDetails Complete folder នៅក្នុង My Documents folder របស់អ្នក ។
2. កាលណាកម្មវិធីអនុវត្តន៍ចាប់ផ្តើមចុចលើប៊ូតុង New Customer នៅលើ toolbar Customer មើលពិស្តារ form ។
3. ជ្រើសរើស Mrs ក្នុងប្រអប់ Title list box រួចត្រួតពិនិត្យមើលផ្ទៀង ផ្ទាត់ឡើងវិញប៊ូតុង Male radio ត្រូវបានជ្រើសរើស ។
4. ចុចលើប៊ូតុង Save Customer លើ toolbar ។ message បង្ហាញ ក្នុង status bar ដែលបញ្ជាក់ថា save failed និង error icons ដែលត្រូវបានបង្ហាញឡើងបន្ទាប់ពី controls គឺជា error ។ ប្រសិនបើអ្នក ចង្អុល mouse លើ error icons នីមួយៗអ្នកឃើញ error message។
5. ជ្រើសរើសប៊ូតុង Female gender radio រួចចុចលើប៊ូតុង Save ក្នុង toolbar ម្តងទៀត ។
6. បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់ ។
បន្ថែម ErrorProvider control
- ត្រឡប់ចូល CustomerForm ក្នុង Design View
- ក្នុង Toolbox ពង្រីក Components category រួចចុចលើ ErrorProvider លោកអ្នកឃើញ form បង្ហាញដូចខាងក្រោមនេះ
4. សរសេរ Code និង Text Editor សំរាប់ CustomerForm
// Cross check the gender and the title to make sure they correspond
private bool checkTitleAndGender()
{
if (title.Text == “Mr”)
{
// Check that gender is Male
if (!male.Checked)
{
errorProvider.SetError(gender, “If the title is Mr ” +
“the gender must be male”);
errorProvider.SetError(title, “If the gender is ” +
“female the title must be Mrs, Miss, or Ms”);
return false;
}
}
else
{
// Check that the gender is Female
if (!female.Checked)
{
errorProvider.SetError(gender, “If the title is Mrs, ” +
“Miss, or Ms the gender must be female”);
errorProvider.SetError(title, “If the gender is male ” +
“the title must be Mr”);
return false;
}
}
// Title and gender match – clear any errors
errorProvider.SetError(gender, “”);
errorProvider.SetError(title, “”);
return true;
}
បង្កើត ErrorProvider control
- Build និងរត់ដំណើរការកម្មវិធីSelect Mrs ក្នុងប្រអប់ Title combo box រួចហើយផ្ទៀងផ្ទាត់មើល Male ដែលបានជ្រើសរើស។
- នៅលើ File menu ចុចលើ Save និងមានប្រអប់ message បង្ហាញ បានប្រាប់ថា save failed និង error icons។ រួចហើយចុចលើ OK។ ប្រសិនបើលោកអ្នកប្រើ mouse ចុចលើ error icon លោកអ្នកនឹង ឃើញ error message ដែលបង្ហាញទំព័រដូចខាងក្រោមនេះ
- ជ្រើសរើសភេទស្រី Female gender រួចចុចលើ Save item លើ File
- បញ្ចប់ Exit កម្មវិធីប្រើប្រាស់
- ត្រឡប់ចូលក្នុង CustomerForm ក្នុងសន្លឹក Design View
- ក្នុង Toolbar ពង្រីកមើលលើ Menus & Toolbars រួចហើយទាញ StatusStrip control ពីក្នុង Toolbar នៅលើ form។
- ត្រួតពិនិត្យមើល form និង status bar ដែលត្រូវបានបន្ថែមលើ form
- ចុចលើ statusStrip1 រួចហើយជ្រើសរើស Properties
- ប្តូរឈ្មោះ (Name) property ទៅជា statusStrip
- ក្នុង status bar លើ form ចុចលើព្រួញដែលបានបង្ហាញក្នុងក្រាហ្វីច រួចហើយចុចលើ StatusLabel។
- ចុចលើ toolStripStatusLabel1 នៅក្នុង status bar ដែលប្រើជាសន្លឹក Properties window ប្តូរឈ្មោះទៅជា statusMessages។
- លោកអ្នកនឹងឃើញ បង្កើត text color ទៅជាពណ៌ខ្មៅជំហានបន្ទាប់
- ការផ្លាស់ប្តូរទីពីរគឺ MessageBox statement ដើម្បីបង្ហាញក្នុង error ខាងក្រោមនេះ:
statusMessages.Text = “Customer title and gender are inconsistent. Changes
not saved”;
Post a Comment