PL-900 Demonstrate the capabilities of Power Apps Practice Question
You are designing a Power Apps model-driven app for a sales team. The app must enforce that a discount field cannot exceed 50% of the total price. Where should you implement this validation?
⚠ Common exam trap
PL-900 often tests the misconception that Power Automate can enforce validation — flows are asynchronous and post-save, so they cannot prevent invalid data from being stored.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Create a business rule on the table.
Business rules in Dataverse run server-side on the table regardless of which client (model-driven app, canvas app, API, or import) touches the record, so the 50% discount constraint is enforced consistently. They also work in model-driven forms without custom code and can show validation errors directly on the form. This is the standard low-code way to enforce cross-field validation on a Dataverse table.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
In the canvas app formula bar.
Why it's wrong here
A canvas app formula bar applies only within that canvas app, so model-driven forms and other entry points bypass the discount limit. It is tempting because canvas formulas readily express conditional logic, so it would be correct for a standalone canvas app, but model-driven validation belongs in a business rule on the table.
- ✓
Create a business rule on the table.
Why this is correct
Business rules run server-side on the table, so the discount validation applies across every form, view and API write, not just one app. This enforces the 50% limit consistently at the data layer, satisfying the model-driven app's requirement.
- ✗
Use a Power Automate flow triggered on record creation.
Why it's wrong here
A Power Automate flow fires after the record is created, so an invalid discount above 50% is already saved, failing enforcement. It is tempting because flows automate business processes and notifications, so it would be correct for downstream approvals or alerts, but validation must block the save, which a business rule does.
- ✗
Write JavaScript in the form customisation.
Why it's wrong here
JavaScript in form customisation executes client-side in the browser, so it can be bypassed if a user submits data through a different channel, such as a data import or API call. The requirement demands server-side enforcement to guarantee the discount cap is always applied. This option is tempting because JavaScript is commonly used for real-time field validation and user feedback in model-driven apps, and it would be correct for a purely client-side UX constraint that does not require data integrity across all entry points.
Go deeper
Related to this question
About these practice questions
One of 701 original PL-900 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Microsoft exam blueprint
This PL-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-900 exam.