Is there a way inside workflow rules to make this rule: "if field A is not empty, then field B cannot be blank"?
You can use a rule on the Submit button that sets a trigger field. This trigger field (which can be in a secondary data source, an XML file, for example) controls the formatting of a section to hide or show. The section contains a message for the user ("Please enter Field B").
Use two rules on the submit button. The first rule will fire when Filed A has a value AND Field B is blank and set the trigger field, hence displaying the message to the user. Tick "Don't run remaining rules ...."
The second rule will fire when all fields are present and will submit the form.
This way, a form can only be submitted if both Field A and Field B are filled in.
You can just use column validation under List Settings >> Validation Settings and add a formula. Alternatively, if you need it in a workflow as specified in the question, you can create a local workflow string variable and not set it, then use it to compare to field A and field B... but at the time a workflow is running, the values would already be saved.
U could do this with infopath validations rules. As I understand you have 2 Fields. Field A and Field B
- Rightclick Field B
- Choose Rules...
- Click new validation
- Give it a name
- Click on none under condition
- Fill in Field A is not blank AND Field B is blank as condition
- Don't forget to fill in a screentip, otherwise it won't work properly.
This way Field B has to be filled in when field A is not blank. Please test and let me know if it doesn't work.