Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Business object rule validation
Message
From
26/06/2008 16:07:59
Timothy Bryan
Sharpline Consultants
Conroe, Texas, United States
 
General information
Forum:
ASP.NET
Category:
The Mere Mortals .NET Framework
Environment versions
Environment:
C# 2.0
OS:
Windows Server 2003
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01326989
Message ID:
01327045
Views:
9
Hi Linda,

>I am validating a foreign key entered in a text box. I already have a rule created by the business layer generator for a required entry. Now I want to make sure that the number matches a row in the foreign table. I would like some advice on best practice here. Currently, I have modified that validation rule to add code to check for a valid entry.
>
>
>                int PatientCount = ExecuteScalar("SELECT COUNT(*) FROM Patient WHERE ClientPatientId = '" + ClientPatientId + "'");
>                if (PatientCount = 0)
>                {
>                    Msg = "Unable to locate this patient.";
>                    AddErrorProviderBrokenRule("ClientPatientId", Msg);
>                }
>
>
>If it is valid, I want to look up and display some related fields. I was thinking that I could use the event,
>txtClientPatientId_TextChanged(object sender, EventArgs e), and have it call the foreign business object. The only problem is that it fires after each letter entered, doesn't it? Is this a reasonable approach to doing this? Is there a better solution?
>
>Thanks.

Best practice I suspect would not be letting a user enter a foreign key directly like that. I don't know your exact situration so not to judge this, but one way would be to give them a combo box and fill it with a meaningful column from the foreign table but when they pick it, the combo will actually put the foreign key into the column for you. Check out the jump start in the deve guide where Shippers and Employee combo boxes are placed on the form. They display the shipper name or employee name, but the shipper_ID and Employee_ID are placed in the table column.

If you want to allow the user to actually enter a foreign key like you suggest, then you would have to validate it. TextChanged may not be the best spot to put that for the reason you stated. You could put a button or you could check it after they leave the text box or tab.

I hope that helps
Tim
Timothy Bryan
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform