← Back to library
Playwrightassertionsintermediatev1.20+
Assert input is disabled or enabled
Check whether a button or input is in a disabled or enabled state — common for form validation flows.
1test('submit button reflects form validity state', async ({ page }) => {
2 await page.goto('/register');
3
4 const submitBtn = page.getByRole('button', { name: 'Create account' });
5
6 // toBeDisabled() retries — safe to call right after navigation
7 await expect(submitBtn).toBeDisabled();
8
9 await page.getByLabel('Email').fill('qa@example.com');
10 await page.getByLabel('Password').fill('Str0ng!Pass');
11
12 // Form is now valid — button should become interactive
13 await expect(submitBtn).toBeEnabled();
14
15 // Also works on inputs — e.g. assert a field is read-only after lock
16 const emailField = page.getByLabel('Email');
17 await expect(emailField).not.toBeDisabled();
18});#toBeDisabled#toBeEnabled#disabled#form validation