﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
11846	field check does not wok	ankit	nobody	"I am having a class which is defined as 

{{{
#!python			
class ABC(models.Model):
	id = models.CharField(max_length=100, primary_key=True)
	pub = models.ForeignKey(WapUser, null=True)
	brief_description = models.TextField(null=True,blank=True)
	status = models.CharField(max_length=12, null=True, help_text='Select the appropriate status and click on save', choices=SITE_STATUS_CHOICES )
	created_on = models.DateTimeField(null=True)
	pub_share = models.DecimalField('site_rev_share',max_digits=4,decimal_places=2,null=True)
	require_full_size_banner = models.IntegerField(""Full Size Banner Ads"", choices=BOOLEAN_CHOICES, default = 0,null=True)
	modified_on =  models.DateTimeField(auto_now=True,auto_now_add=True,verbose_name ='Last_modified_on')
	critical_nfr = models.DecimalField(max_digits=5,decimal_places=3,default='60',help_text='Plesae Enter in the range of (0-100)')
	class Meta:
		db_table = u'wap_abc'
		verbose_name_plural= ""ABC""
		managed = False
	def __unicode__(self):
		return self.status
	def get_absolute_url(self):
		return ""/abc/%i/"" % self.id

}}}

And form.py looks like

{{{
#!python
class SiteForm(ModelForm):
	class Meta:
		model = ABC
	reason_for_reject = CharField(widget=forms.Textarea,max_length=500,help_text='Please enter if the reason is not in the list',required=False)
	
	
     def clean(self):
		cleaned_data = self.cleaned_data
        	newStatus = self.cleaned_data.get('status')
		id_a = self.cleaned_data.get('id')
		critical_nfr = self.cleaned_data.get('critical_nfr')
		
		if new_pub_share == 0 or new_pub_share >=100:
			raise forms.ValidationError('You cannot set pub_share either equal to 0% or greater than equal to 100% !')
		if critical_nfr <0  and critical_nfr is not None:
			raise forms.ValidationError('You cannot set critical_nfr less than Zero !')
		if self.instance and self.instance.status=='pending':
			if newStatus =='activated' or newStatus == 'rejected':
				
				if newStatus == 'rejected':
					if rejection_code is None and new_rejection_reason=='':
						raise forms.ValidationError('Please select a reason to reject or else write in the box given below  !')
					if rejection_code != None and new_rejection_reason!='':
						raise forms.ValidationError('You cannot select both, either select a reason or write it !')
}}}


now if i enter the value of critical_nfr<0,it gives error but if i give '-0' then it does not give any error.WHy .-0 is not any number"		closed	Forms	1.1-beta		invalid			Unreviewed	0	0	0	0	0	0
