def test_CZBirthNumberField(self): error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.'] error_invalid = [u'Enter a valid birth number.'] valid = { '880523/1237': '880523/1237', '8805231237': '8805231237', '880523/000': '880523/000', '880523000': '880523000', '882101/0011': '882101/0011', } invalid = { '123456/12': error_format, '123456/12345': error_format, '12345612': error_format, '12345612345': error_format, '880523/1239': error_invalid, '8805231239': error_invalid, '990101/0011': error_invalid, } self.assertFieldOutput(CZBirthNumberField, valid, invalid) # These tests should go away in 1.4. # http://code.djangoproject.com/ticket/14593 f = CZBirthNumberField() self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'), self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '881523/0000', 'm') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '885223/0000', 'm') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '881523/0000', 'f') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '885223/0000', 'f')
class Patient_form(forms.ModelForm): label_suffix = ":" class Meta: model = Patient ident_hash = CZBirthNumberField(label=_("Birth number")) phone_number = forms.RegexField( label=_("Phone number"), min_length=5, max_length=100, regex = r"\d+", error_messages={"invalid": _(u"Enter a valid 'phone number' consisting of numbers only.")} ) reservation = forms.ModelChoiceField( queryset=Visit_reservation.objects.all(), widget=forms.HiddenInput(), error_messages={"required": _("Please select time of visit reservation")} ) exam_kind = forms.ModelChoiceField( empty_label=None, queryset=Examination_kind.objects.all(), widget=forms.RadioSelect(), label=_("Examination kind") ) def clean_ident_hash(self): data = self.cleaned_data["ident_hash"] if data[6] == "/": data = data[:6] + data[7:] return data
class Patient_detail_form(forms.Form): ident_hash = CZBirthNumberField() def clean_ident_hash(self): data = self.cleaned_data["ident_hash"] if data[6] == "/": data = data[:6] + data[7:] return data
def test_CZBirthNumberField(self): error_format = [ u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.' ] error_invalid = [u'Enter a valid birth number.'] valid = { '880523/1237': '880523/1237', '8805231237': '8805231237', '880523/000': '880523/000', '880523000': '880523000', '882101/0011': '882101/0011', } invalid = { '123456/12': error_format, '123456/12345': error_format, '12345612': error_format, '12345612345': error_format, '880523/1239': error_invalid, '8805231239': error_invalid, '990101/0011': error_invalid, } self.assertFieldOutput(CZBirthNumberField, valid, invalid) # These tests should go away in 1.4. # http://code.djangoproject.com/ticket/14593 f = CZBirthNumberField() self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'), self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231') for args in [ ('881523/0000', 'm'), ('885223/0000', 'm'), ('881523/0000', 'f'), ('885223/0000', 'f'), ]: try: f.clean(*args) except ValidationError, e: self.assertEqual(e.messages, error_invalid) else: self.fail()
def test_CZBirthNumberField(self): error_format = [u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.'] error_invalid = [u'Enter a valid birth number.'] valid = { '880523/1237': '880523/1237', '8805231237': '8805231237', '880523/000': '880523/000', '880523000': '880523000', '882101/0011': '882101/0011', } invalid = { '123456/12': error_format, '123456/12345': error_format, '12345612': error_format, '12345612345': error_format, '880523/1239': error_invalid, '8805231239': error_invalid, '990101/0011': error_invalid, } self.assertFieldOutput(CZBirthNumberField, valid, invalid) # These tests should go away in 1.4. # http://code.djangoproject.com/ticket/14593 f = CZBirthNumberField() self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'), self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231') for args in [ ('881523/0000', 'm'), ('885223/0000', 'm'), ('881523/0000', 'f'), ('885223/0000', 'f'), ]: try: f.clean(*args) except ValidationError, e: self.assertEqual(e.messages, error_invalid) else: self.fail()
def test_CZBirthNumberField(self): error_format = [ u'Enter a birth number in the format XXXXXX/XXXX or XXXXXXXXXX.' ] error_invalid = [u'Enter a valid birth number.'] valid = { '880523/1237': '880523/1237', '8805231237': '8805231237', '880523/000': '880523/000', '880523000': '880523000', '882101/0011': '882101/0011', } invalid = { '123456/12': error_format, '123456/12345': error_format, '12345612': error_format, '12345612345': error_format, '880523/1239': error_invalid, '8805231239': error_invalid, '990101/0011': error_invalid, } self.assertFieldOutput(CZBirthNumberField, valid, invalid) # These tests should go away in 1.4. # http://code.djangoproject.com/ticket/14593 f = CZBirthNumberField() self.assertEqual(f.clean('880523/1237', 'm'), '880523/1237'), self.assertEqual(f.clean('885523/1231', 'f'), '885523/1231') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '881523/0000', 'm') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '885223/0000', 'm') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '881523/0000', 'f') self.assertRaisesRegexp(ValidationError, unicode(error_invalid), f.clean, '885223/0000', 'f')