0
當我執行程序我在構造異常而decalaring在C#中嵌套類
唯一的例外是
類型的第一個機會異常「System.Windows.Markup.XamlParseException得到異常'發生在System.Windows.ni.dll
附加信息:未能分配給屬性'System.Windows.Controls.TextBox.TextChanged'。 [行:56位置:161]
namespace vali2
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent(); //I get exception here
}
class validate: MainPage
{
int in_correct = 0, text_length = 10, phone_length = 10, correct = 0;
string firstname_error = "Please enter a valid first name";
string lastname_error = "Please enter a valid last name";
string firstnmeln_error = "First name should be less than 10 letters";
string lastnmeln_error = "Last name should be less than 10 letters";
string gender_error = "Please select your gender";
string contact_error = "Your phone number should contain only numbers";
string contactln_error = "Your contact should contain 10 digits";
string email_error = "Please enter a valid mail address";
public void validatefn()
{
int Txtlen = ln.Text.Length;
if (String.IsNullOrEmpty(ln.Text) || ln.Text.Any(c => Char.IsNumber(c)))
{
MessageBox.Show(firstname_error);
in_correct = 1;
}
else if (Txtlen > text_length)
{
MessageBox.Show(firstnmeln_error);
in_correct = 1;
}
else
correct = 1;
ln.Focus();
}
public void validateln()
{
int Txtlen1 = dob.Text.Length;
if (String.IsNullOrEmpty(ln.Text) || ln.Text.Any(c => Char.IsNumber(c)))
{
MessageBox.Show(lastname_error);
in_correct = 1;
}
else if (Txtlen1 > text_length)
{
MessageBox.Show(lastnmeln_error);
in_correct = 1;
}
else
correct = 1;
dob.Focus();
}
public void validategender()
{
if (male.IsChecked == false && female.IsChecked == false)
{
MessageBox.Show(gender_error);
in_correct = 1;
}
correct = 1;
}
public void validatecontact()
{
Regex regex = new Regex("^[0-9]*$");
int Txtlen3 = contact.Text.Length;
if (!regex.IsMatch(contact.Text))
{
MessageBox.Show(contact_error);
in_correct = 1;
}
else if (Txtlen3 != phone_length)
{
MessageBox.Show(contactln_error);
in_correct = 1;
}
else
correct = 1;
contact.Focus();
}
public void validate_email()
{
Regex pattern = new Regex("^([0-9a-zA-Z]([-\\.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$");
if (!pattern.IsMatch(email.Text))
{
MessageBox.Show(email_error);
in_correct = 1;
}
else
correct = 1;
email.Focus();
}
// if ((String.IsNullOrEmpty(ln.Text) || ln.Text.Any(c => Char.IsNumber(c)) && Txtlen > 10)&&
// (male.IsChecked == true || female.IsChecked == true) && (regex.IsMatch(contact.Text) && Txtlen3 < 10) && pattern.IsMatch(email.Text))
public void iso()
{
IsolatedStorageSettings Setting = IsolatedStorageSettings.ApplicationSettings;
Setting["text1"] = ln.Text;
Setting["text2"] = dob.Text;
Setting["text3"] = contact.Text;
Setting["text4"] = email.Text;
if (correct == 1 && in_correct == 0)
{
NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
}
}
}
我不得不觸發下面的代碼校驗類
public void save_Click(object sender, RoutedEventArgs e)
{
validate vali = new validate();
vali.validatefn();
vali.validateln();
vali.validategender();
vali.validatecontact();
vali.validate_email();
vali.iso();
}
你有沒有內的InitializeComponent看着代碼(刪除你的文字更改事件)? – 2015-01-21 05:38:57
你能告訴我們xaml嗎? – luxas 2015-01-21 05:38:57
如何觸發驗證? – qamar 2015-01-21 05:38:59