[rules-users] execute particular rules programmatically and dynamically
Benson Fung
benson.redhat at gmail.com
Thu Apr 14 10:06:39 EDT 2011
Hi Wolfgang,
Please see the following scenario.
On Thu, Apr 14, 2011 at 12:19 AM, Benson Fung <benson.redhat at gmail.com> wrote:
> Hi,
>
> Here is the scenario :
>
> If there are 2 edit boxes and 2 dropdown list at the frontend like.
>
>
> dropdown(minIssrdAge1) editbox(age1)
> dropdown(minIssrdAge2) editbox(age2)
>
> everytime when I lost focus the editbox(age1 or age2), the
> editbox(age1 or age2) value will be validated against the following
> rules.
> i.e. minIssrdAge1 and age1 will be validated together if lost focus
> the editbox age1.
> minIssrdAge2 and age2 will be validated together if lost focus
> the editbox age2
>
> Rule1 is mandatory because both editbox are required field.
> However, editbox(age1) is only valid within the 0 and 100. and
> editbox(age2) is only valid within 0 and 600.
>
> In other words, editbox(age1) have to be validated against Rule1 +
> Rule2. However, editbox(age2) have to validated against Rule1 +
> Rule3.
>
> My question, how to design the rule attribute or at the java program
> side so that different editbox can be validated against different
> rule.
>
> Please help. I can't find any solution by now.
>
> rule "Rule1"
> salience 1
> dialect "mvel"
> when
> ad : ApplicationData( age == "" || ( == null ))
> then
> ad.setReturnMsg( "\n age should not be null or empty" );
> end
>
>
> rule "Rule2"
> dialect "mvel"
> when
> ad : ApplicationData( $age : age != null , age != "" , minIssrdAge
> == "Years" )
> eval(Integer.parseInt($age) < 0) or eval(Integer.parseInt($age) > 100)
> then
> ad.setReturnMsg( "\nage is out of the range(i.e. < 0 and > 100)" );
> end
>
> rule "Rule3"
> dialect "mvel"
> when
> ad : ApplicationData( $age : age != null , age != "" , minIssrdAge
> == "Years" )
> eval(Integer.parseInt($age) < 0) or eval(Integer.parseInt($age) > 600)
> then
> ad.setReturnMsg( "\nage is out of the range(i.e. < 0 and > 600)" );
> end
>
More information about the rules-users
mailing list