Function goose_eggs::drupal::get_form_value[][src]

pub fn get_form_value(form_html: &str, name: &str) -> String
Expand description

Use regular expression to get the value of a named form element.

Example

use goose_eggs::drupal::{get_form, get_form_value};

// For this example we grab just a subset of a real Drupal form, enough to demonstrate. Normally
// you'd use the entire html snippet returned from [`validate_and_load_static_assets`].
let html = r#"
<html lang="en" dir="ltr" class="light-mode">
  <form class="user-login-form" data-drupal-selector="user-login-form" action=`/user/login` method="post" id="user-login-form" accept-charset="UTF-8">
    <div class="js-form-item form-item">
      <label for="edit-name" class="js-form-required form-required form-item__label">Username</label>
      <input autocorrect="none" autocapitalize="none" spellcheck="false" autofocus="autofocus" data-drupal-selector="edit-name" aria-describedby="edit-name--description" type="text" id="edit-name" name="name" value="" size="60" maxlength="60" class="form-text required form-item__textfield" required="required" aria-required="true" />
      <div id="edit-name--description" class="form-item__description">
        Your username.
      </div>
      <input autocomplete="off" data-drupal-selector="form-bhzme2hetuevnwqr5y4pyp8jcau2dfbherwoscwnajm" type="hidden" name="form_build_id" value="form-bHZME2HeTuevNWQR5Y4pyP8jcAu2dfbHERwoscwnajM" class="form-item__textfield" />
      <input data-drupal-selector="edit-form-token" type="hidden" name="form_token" value="5sM6gWNMbHoGq5RGKWQqSis3l5ulFkm4H8OG9pSIBw8" />
      <input data-drupal-selector="edit-user-login-form" type="hidden" name="form_id" value="user_login_form" class="form-item__textfield" />
      <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions"><input data-drupal-selector="edit-submit" type="submit" id="edit-submit" name="op" value="Log in" class="button js-form-submit form-submit form-item__textfield" />
    </div>
  </form>
</html>
"#;

let form = get_form(html, "user-login-form");
let form_build_id = get_form_value(&form, "form_build_id");
assert_eq!(&form_build_id, "form-bHZME2HeTuevNWQR5Y4pyP8jcAu2dfbHERwoscwnajM");